Sha256: 29c3c1393014ec98c06019c47a265eb716203db57247412b40fe6e7353ee568e

Contents?: true

Size: 718 Bytes

Versions: 12

Compression:

Stored size: 718 Bytes

Contents

class User
  include Formotion::Formable

  attr_accessor :name, :score, :team

  form_property :name, :string
  form_property :score, :number, transform: lambda { |value| value.to_i }

  form_property :team, :picker, items: ["Red", "Blue", "Green"]

  form_title "Edit User"

  def initialize(name, score, team)
    self.name = name
    self.score = score
    self.team = team
  end
end

class AwesomeUser < User
end

describe "Formotion::Formable w/ Subclasses" do
  it "should work" do
    user = User.new("Harry", 100, "Green")
    awesome = AwesomeUser.new("Clay", 200, "Red")

    user.to_form.title.should == awesome.to_form.title
    user.class.form_properties.should == awesome.class.form_properties
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
formotion-1.8 spec/formable/subclass_spec.rb
formotion-1.7 spec/formable/subclass_spec.rb
formotion-1.6 spec/formable/subclass_spec.rb
formotion-1.5.1 spec/formable/subclass_spec.rb
formotion-1.5.0 spec/formable/subclass_spec.rb
formotion-1.4.0 spec/formable/subclass_spec.rb
formotion-1.3.1 spec/formable/subclass_spec.rb
formotion-1.3 spec/formable/subclass_spec.rb
formotion-1.2 spec/formable/subclass_spec.rb
formotion-1.1.5 spec/formable/subclass_spec.rb
formotion-1.1.4 spec/formable/subclass_spec.rb
formotion-1.1.3 spec/formable/subclass_spec.rb