Module: BasicSerializer::DSL
- Included in:
- BasicSerializer
- Defined in:
- lib/basic_serializer/dsl.rb
Instance Method Summary collapse
- #attribute(name, type = nil) ⇒ Object
- #attributes ⇒ Object
- #custom_model_name ⇒ Object
- #format(name, pretty: false) ⇒ Object
- #format_settings ⇒ Object
- #model_name(name) ⇒ Object
- #schema_ref(ref) ⇒ Object
Instance Method Details
#attribute(name, type = nil) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/basic_serializer/dsl.rb', line 9 def attribute(name, type = nil) attributes[name] = type || :default return if @defined_methods&.include?(name) @defined_methods ||= Set.new @defined_methods << name define_method(name) { object.public_send(name) } end |
#attributes ⇒ Object
5 6 7 |
# File 'lib/basic_serializer/dsl.rb', line 5 def attributes @attributes ||= {} end |
#custom_model_name ⇒ Object
24 25 26 |
# File 'lib/basic_serializer/dsl.rb', line 24 def custom_model_name @custom_model_name ||= @model_name || name.delete_suffix("Serializer") end |
#format(name, pretty: false) ⇒ Object
32 33 34 |
# File 'lib/basic_serializer/dsl.rb', line 32 def format(name, pretty: false) @format = { name: name, pretty: pretty } end |
#format_settings ⇒ Object
36 37 38 |
# File 'lib/basic_serializer/dsl.rb', line 36 def format_settings @format_settings ||= {} end |
#model_name(name) ⇒ Object
20 21 22 |
# File 'lib/basic_serializer/dsl.rb', line 20 def model_name(name) @model_name = name end |
#schema_ref(ref) ⇒ Object
28 29 30 |
# File 'lib/basic_serializer/dsl.rb', line 28 def schema_ref(ref) @schema_ref = ref end |