Sha256: 62781f480acfd57165d7e62be2ea4a047e6369e6bddcd5b557dc76ac238f1782

Contents?: true

Size: 623 Bytes

Versions: 9

Compression:

Stored size: 623 Bytes

Contents

module ROM
  module Plugins
    module Relation
      module View
        class DSL
          attr_reader :name

          attr_reader :attributes

          attr_reader :relation_block

          def initialize(name, &block)
            @name = name
            instance_eval(&block)
          end

          def header(*args, &block)
            @attributes = args.size > 0 ? args.first : block
          end

          def relation(&block)
            @relation_block = lambda(&block)
          end

          def call
            [name, attributes, relation_block]
          end
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
rom-2.0.2 lib/rom/plugins/relation/view/dsl.rb
rom-2.0.1 lib/rom/plugins/relation/view/dsl.rb
rom-2.0.0 lib/rom/plugins/relation/view/dsl.rb
rom-1.0.0 lib/rom/plugins/relation/view/dsl.rb
rom-1.0.0.rc1 lib/rom/plugins/relation/view/dsl.rb
rom-1.0.0.beta2 lib/rom/plugins/relation/view/dsl.rb
rom-1.0.0.beta1 lib/rom/plugins/relation/view/dsl.rb
rom-repository-0.1.0 lib/rom/plugins/relation/view/dsl.rb
rom-repository-0.0.2 lib/rom/plugins/relation/view/dsl.rb