Class: SequelDM::MappingsDSL
- Inherits:
-
Object
- Object
- SequelDM::MappingsDSL
- Defined in:
- lib/sequel_dm/mappings_dsl.rb
Defined Under Namespace
Classes: Mapping
Instance Attribute Summary collapse
-
#mappings ⇒ Object
readonly
Returns the value of attribute mappings.
Instance Method Summary collapse
- #column(column_name, options = {}) ⇒ Object
- #columns(*column_names) ⇒ Object
-
#initialize(&dsl_block) ⇒ MappingsDSL
constructor
A new instance of MappingsDSL.
Constructor Details
#initialize(&dsl_block) ⇒ MappingsDSL
Returns a new instance of MappingsDSL.
3 4 5 6 |
# File 'lib/sequel_dm/mappings_dsl.rb', line 3 def initialize(&dsl_block) @mappings = {} instance_exec(&dsl_block) end |
Instance Attribute Details
#mappings ⇒ Object (readonly)
Returns the value of attribute mappings.
2 3 4 |
# File 'lib/sequel_dm/mappings_dsl.rb', line 2 def mappings @mappings end |
Instance Method Details
#column(column_name, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/sequel_dm/mappings_dsl.rb', line 8 def column(column_name, = {}) SequelDM::ArgsValidator.is_symbol!(column_name, :column_name) SequelDM::ArgsValidator.is_hash!(, :column_options) SequelDM::ArgsValidator.is_symbol!([:to], :to) if [:to] SequelDM::ArgsValidator.is_proc!([:load], :load) if [:load] SequelDM::ArgsValidator.is_proc!([:dump], :dump) if [:dump] set_field = [:set_field] == false ? false : true set_column = [:set_column] == false ? false : true mappings[column_name] = Mapping.new( column_name, [:to] || column_name, [:load], [:dump], set_field, set_column, ) end |
#columns(*column_names) ⇒ Object
27 28 29 30 |
# File 'lib/sequel_dm/mappings_dsl.rb', line 27 def columns(*column_names) SequelDM::ArgsValidator.is_array!(column_names, :column_names) column_names.each { |column_name| column(column_name) } end |