Skip to content

Commit

Permalink
Fix macro
Browse files Browse the repository at this point in the history
  • Loading branch information
raphasampaio committed Aug 27, 2024
1 parent bb87001 commit 27a6af2
Show file tree
Hide file tree
Showing 8 changed files with 37 additions and 12 deletions.
1 change: 1 addition & 0 deletions src/PSRBridge.jl
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export
TimeSeriesFileData,
TimeSeriesVectorData,
Cache,
raw_data,
initialize!,
update!,
adjust!,
Expand Down
4 changes: 4 additions & 0 deletions src/data/adjusted_vector.jl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ function Base.isempty(parameter::AdjustedVectorData{T}) where {T}
return isempty(parameter.data)
end

function raw_data(parameter::AdjustedVectorData)
return parameter.data
end

function initialize!(parameter::AdjustedVectorData{T}, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) where {T}
size = PSRI.max_elements(db, collection.id)
parameter.data = Vector{T}(undef, size)
Expand Down
4 changes: 4 additions & 0 deletions src/data/any.jl
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
function raw_data(parameter::Any)
return parameter
end

function initialize!(parameter::Any, collection::AbstractCollection, db::DatabaseSQLite; kwargs...)
return nothing
end
Expand Down
4 changes: 4 additions & 0 deletions src/data/map.jl
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ function Base.isempty(parameter::MapData)
return isempty(parameter.data)
end

function raw_data(parameter::MapData)
return parameter.data
end

function initialize!(parameter::MapData, collection::AbstractCollection, db::DatabaseSQLite; kwargs...)
parameter.data = PSRI.get_map(db, collection.id, parameter.collection_to, parameter.id)
return nothing
Expand Down
4 changes: 4 additions & 0 deletions src/data/static_vector.jl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ function Base.isempty(parameter::StaticVectorData{T}) where {T}
return isempty(parameter.data)
end

function raw_data(parameter::StaticVectorData)
return parameter.data
end

function initialize!(parameter::StaticVectorData{T}, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) where {T}
parameter.data = PSRI.get_parms(db, collection.id, parameter.id) .|> T
return nothing
Expand Down
4 changes: 4 additions & 0 deletions src/data/time_series_file.jl
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ function (parameter::TimeSeriesFileData)()
return parameter.path
end

function raw_data(parameter::TimeSeriesFileData)
return parameter.path
end

function initialize!(parameter::TimeSeriesFileData, collection::AbstractCollection, db::DatabaseSQLite; kwargs...)
parameter.path = PSRDatabaseSQLite.read_time_series_file(db, collection.id, parameter.id)
return nothing
Expand Down
4 changes: 4 additions & 0 deletions src/data/time_series_vector.jl
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ function Base.isempty(parameter::TimeSeriesVectorData{T}) where {T}
return isempty(parameter.data)
end

function raw_data(parameter::TimeSeriesVectorData)
return parameter.data
end

function initialize!(parameter::TimeSeriesVectorData{T}, collection::AbstractCollection, db::DatabaseSQLite; kwargs...) where {T}
return nothing
end
Expand Down
24 changes: 12 additions & 12 deletions src/macros.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ $description
"""
end

function getters_field(;name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol)
function getters_field(; name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol)
getters = Expr[]

description = "Get the $field_name field from the $name collection."

doc_string = build_doc_string("$function_name($name_snakecase::$name)", description)
push!(getters, quote
@doc $doc_string function $function_name($name_snakecase::$name)
return $name_snakecase.$field_name
return raw_data($name_snakecase.$field_name)
end
end)

Expand All @@ -35,7 +35,7 @@ function getters_field(;name::Symbol, name_snakecase::Symbol, function_name::Sym
return getters
end

function getters_callable(;name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol)
function getters_callable(; name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol)
getters = Expr[]

description = "Get the $field_name field from the $name collection."
Expand Down Expand Up @@ -64,7 +64,7 @@ function getters_callable(;name::Symbol, name_snakecase::Symbol, function_name::
return getters
end

function getters_array1(;name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol)
function getters_array1(; name::Symbol, name_snakecase::Symbol, function_name::Symbol, field_name::Symbol)
getters = Expr[]

description = "Get the $field_name field from the $name collection at index i."
Expand Down Expand Up @@ -129,8 +129,8 @@ macro collection(expression)

getters = Expr[]

push!(getters,
getters_collection(name_snakecase = name_snakecase)...
push!(getters,
getters_collection(name_snakecase = name_snakecase)...,
)

for field in fields
Expand All @@ -144,16 +144,16 @@ macro collection(expression)
function_name = Symbol(name_snakecase, :_, field_name)

push!(getters,
getters_field(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)...
getters_field(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)...,
)

if field_type == :TimeSeriesFileData
push!(getters,
getters_callable(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)...
push!(getters,
getters_callable(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)...,
)
else
push!(getters,
getters_array1(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)...
push!(getters,
getters_array1(name = name, name_snakecase = name_snakecase, function_name = function_name, field_name = field_name)...,
)
end
end
Expand All @@ -166,4 +166,4 @@ macro collection(expression)
]...,
),
)
end
end

0 comments on commit 27a6af2

Please sign in to comment.