Skip to content

Instantly share code, notes, and snippets.

@edmore
Created May 1, 2012 15:57

Revisions

  1. edmore revised this gist May 1, 2012. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions meta_set_get.rb
    Original file line number Diff line number Diff line change
    @@ -19,14 +19,14 @@ def initialize
    end
    end

    # Setters
    # Test our Setters
    superduperdev = Developer.new do |d|
    d.level = "journeyman"
    d.name = "Edmore"
    d.surname = "Moyo"
    end

    # Getters
    # Test our Getters
    ################################################
    # 1.9.3p125 :031 > superduperdev.name
    # => "Edmore"
  2. edmore revised this gist May 1, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion meta_set_get.rb
    Original file line number Diff line number Diff line change
    @@ -15,7 +15,7 @@ class Developer
    my_attr_accessor :level, :name, :surname

    def initialize
    yield (self) if block_given?
    yield ( self ) if block_given?
    end
    end

  3. edmore revised this gist May 1, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion meta_set_get.rb
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,7 @@ def initialize
    end

    # Setters
    superduperdev = Developer.new() do |d|
    superduperdev = Developer.new do |d|
    d.level = "journeyman"
    d.name = "Edmore"
    d.surname = "Moyo"
  4. edmore revised this gist May 1, 2012. 1 changed file with 8 additions and 8 deletions.
    16 changes: 8 additions & 8 deletions meta_set_get.rb
    Original file line number Diff line number Diff line change
    @@ -28,14 +28,14 @@ def initialize

    # Getters
    ################################################
    1.9.3p125 :031 > superduperdev.name
    => "Edmore"
    Edmore's IRB > superduperdev.surname
    => "Moyo"
    Edmore's IRB > superduperdev.level
    => "journeyman"
    # 1.9.3p125 :031 > superduperdev.name
    # => "Edmore"
    # Edmore's IRB > superduperdev.surname
    # => "Moyo"
    # Edmore's IRB > superduperdev.level
    # => "journeyman"

    Edmore's IRB > superduperdev.instance_variables
    => [:@level, :@name, :@surname]
    # Edmore's IRB > superduperdev.instance_variables
    # => [:@level, :@name, :@surname]
    ################################################

  5. edmore revised this gist May 1, 2012. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion meta_set_get.rb
    Original file line number Diff line number Diff line change
    @@ -26,7 +26,8 @@ def initialize
    d.surname = "Moyo"
    end

    # Getters
    # Getters
    ################################################
    1.9.3p125 :031 > superduperdev.name
    => "Edmore"
    Edmore's IRB > superduperdev.surname
    @@ -36,4 +37,5 @@ def initialize

    Edmore's IRB > superduperdev.instance_variables
    => [:@level, :@name, :@surname]
    ################################################

  6. edmore revised this gist May 1, 2012. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions meta_set_get.rb
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,5 @@
    class Object
    def self.my_attr_accessible( *names )
    def self.my_attr_accessor( *names )
    names.each do |name|
    define_method( "#{name}=" ) do |value|
    instance_variable_set( "@#{name}", value )
    @@ -12,7 +12,7 @@ def self.my_attr_accessible( *names )
    end

    class Developer
    my_attr_accessible :level, :name, :surname
    my_attr_accessor :level, :name, :surname

    def initialize
    yield (self) if block_given?
  7. edmore created this gist May 1, 2012.
    39 changes: 39 additions & 0 deletions meta_set_get.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,39 @@
    class Object
    def self.my_attr_accessible( *names )
    names.each do |name|
    define_method( "#{name}=" ) do |value|
    instance_variable_set( "@#{name}", value )
    end
    define_method( name ) do
    instance_variable_get( "@#{name}" )
    end
    end
    end
    end

    class Developer
    my_attr_accessible :level, :name, :surname

    def initialize
    yield (self) if block_given?
    end
    end

    # Setters
    superduperdev = Developer.new() do |d|
    d.level = "journeyman"
    d.name = "Edmore"
    d.surname = "Moyo"
    end

    # Getters
    1.9.3p125 :031 > superduperdev.name
    => "Edmore"
    Edmore's IRB > superduperdev.surname
    => "Moyo"
    Edmore's IRB > superduperdev.level
    => "journeyman"

    Edmore's IRB > superduperdev.instance_variables
    => [:@level, :@name, :@surname]