Sha256: eed53104545eb70fc306a31ff0f5f6bd8ea51d65ff790deaa824585302cc5336

Contents?: true

Size: 538 Bytes

Versions: 11

Compression:

Stored size: 538 Bytes

Contents

module Mirage
  module Helpers
    module MethodBuilder
      def builder_methods *method_names

        defaulted = Object.new

        method_names.each do |method_name|
          method_name = method_name.to_sym
          define_method method_name do |arg = defaulted|
            return instance_variable_get("@#{method_name}".to_sym) if arg == defaulted
            instance_variable_set("@#{method_name}".to_sym, arg)
            self
          end
        end

      end
      alias builder_method builder_methods
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
mirage-4.0.0.alpha10 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha9 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha8 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha6 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha5 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha4 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha3 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha2 lib/mirage/client/helpers/method_builder.rb
mirage-4.0.0.alpha1 lib/mirage/client/helpers/method_builder.rb
mirage-3.0.14 lib/mirage/client/helpers/method_builder.rb
mirage-3.0.13 lib/mirage/client/helpers/method_builder.rb