Sha256: 7411a528b76faeaee9f1627ac7c893e5af90ba420bed636124fd9293aca40408

Contents?: true

Size: 748 Bytes

Versions: 29

Compression:

Stored size: 748 Bytes

Contents

module UniverseCompiler
  module Entity

    module FieldBinder

      def field_accessor(*field_names)
        field_names.each do |field_name|
          field_reader field_name
          field_writer field_name
        end
      end

      def field_reader(*field_names)
        field_names.each do |field_name|
          self.class_eval do
            define_method field_name do
              self.fields[field_name]
            end
          end
        end
      end

      def field_writer(*field_names)
        field_names.each do |field_name|
          self.class_eval do
            define_method "#{field_name}=" do |val|
              self.fields[field_name] = val
            end
          end
        end
      end

    end

  end
end

Version data entries

29 entries across 29 versions & 1 rubygems

Version Path
universe_compiler-0.5.6 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.5.5 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.5.4 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.5.3 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.5.2 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.5.1 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.4.3 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.4.2 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.4.1 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.4.0 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.12 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.11 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.10 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.9 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.8 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.7 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.6 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.5 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.4 lib/universe_compiler/entity/field_binder.rb
universe_compiler-0.3.3 lib/universe_compiler/entity/field_binder.rb