property_sets 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.4
1
+ 0.3.5
@@ -28,18 +28,30 @@ module ActionView
28
28
  template.radio_button(object_name, property, checked_value, options)
29
29
  end
30
30
 
31
- def prepare_options(property, options, &block)
31
+ def hidden_field(property, options = {})
32
+ template.hidden_field(object_name, property, prepare_id_name(property, options))
33
+ end
34
+
35
+ def prepare_id_name(property, options)
36
+ throw "Invalid options type #{options.inspect}" unless options.is_a?(Hash)
37
+
32
38
  instance = template.instance_variable_get("@#{object_name}")
39
+
33
40
  throw "No @#{object_name} in scope" if instance.nil?
34
41
  throw "The property_set_check_box only works on models with property set #{property_set}" unless instance.respond_to?(property_set)
35
42
 
36
43
  options[:id] ||= "#{object_name}_#{property_set}_#{property}"
37
44
  options[:name] = "#{object_name}[#{property_set}][#{property}]"
38
45
  options[:object] = instance
39
- options[:checked] = yield(instance.send(property_set))
40
46
 
41
47
  options
42
48
  end
49
+
50
+ def prepare_options(property, options, &block)
51
+ options = prepare_id_name(property, options)
52
+ options[:checked] = yield(options[:object].send(property_set))
53
+ options
54
+ end
43
55
  end
44
56
 
45
57
  def property_set(identifier)
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{property_sets}
8
- s.version = "0.3.4"
8
+ s.version = "0.3.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Morten Primdahl"]
12
- s.date = %q{2011-03-02}
12
+ s.date = %q{2011-03-03}
13
13
  s.description = %q{This gem is an ActiveRecord extension which provides a convenient interface for managing per row properties}
14
14
  s.email = %q{morten@zendesk.com}
15
15
  s.extra_rdoc_files = [
@@ -51,6 +51,26 @@ class TestViewExtensions < ActiveSupport::TestCase
51
51
  end
52
52
  end
53
53
 
54
+ context "hidden_field" do
55
+ should "call with :value set" do
56
+ settings = stub(@property => "hello")
57
+ object = stub()
58
+ object.stubs(@association).returns(settings)
59
+
60
+ options = {
61
+ :value => "im hidden", :name => "object_name[#{@association}][#{@property}]",
62
+ :id => "object_name_#{@association}_#{@property}", :object => object
63
+ }
64
+ template = stub()
65
+ template.expects(:instance_variable_get).with("@object_name").returns(object)
66
+ # def hidden_field(object_name, method, options = {})
67
+ template.expects(:hidden_field).with("object_name", @property, options)
68
+
69
+ @proxy.stubs(:template).returns(template)
70
+ @proxy.hidden_field(@property, options)
71
+ end
72
+ end
73
+
54
74
  context "radio_button" do
55
75
  should "call with checked true for a truth value" do
56
76
  settings = stub(@property => "hello")
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: property_sets
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 4
10
- version: 0.3.4
9
+ - 5
10
+ version: 0.3.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Morten Primdahl
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-02 00:00:00 -08:00
18
+ date: 2011-03-03 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency