chop 0.13.1 → 0.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/chop/form.rb +8 -21
  3. data/lib/chop/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9cc96c192b4724217ece419b28ba7f3e0cacf00f
4
- data.tar.gz: 25e342b2afe607ac53764cee83cf625897c17c95
3
+ metadata.gz: e3067a61bdc457c0ed1ce15521f79adc1fbddc02
4
+ data.tar.gz: 17b710c74fc8587c8625497483661cf366cf2816
5
5
  SHA512:
6
- metadata.gz: 4f5db0423806ebc2092a37486ee2523ecf4e1ce9b494a890513aeab6bbdd303d4bc7dd931e80afcf86fda511c6a5f3f9cb4394ac1e4646a68890e3ba26ea0866
7
- data.tar.gz: 013133adbdb80aad248c19ae365b70f8958e1a5b9884381e18a29aee06ab4b2a6d9f3fde97266439caa6a493b964d2b5459bfd4607bb32f238dda94d58aed08d
6
+ metadata.gz: 45971725107ac1af7adde1dd5b21e209e8f17de1a09746d8f6ef129feb61fdccae846cb9b03da28a5b935171c8cc7737e5af12e58f7a214c27212e30e233f758
7
+ data.tar.gz: e7d1d46c071f5ef0f668a0a984aa4533482829eee38303a234ddc4eb9b05adcc472b8065d753d0185b28eff9376da877b110b371ebf0f91af4883d393d37d2da
data/lib/chop/form.rb CHANGED
@@ -13,18 +13,13 @@ module Chop
13
13
  end
14
14
  end
15
15
 
16
- class Field < Struct.new(:session, :label, :value, :path)
17
- def self.for *args
16
+ class Field < Struct.new(:session, :label, :value, :path, :field)
17
+ def self.for session, label, value, path
18
+ field = session.find_field(label)
18
19
  descendants.map do |klass|
19
- klass.new(*args)
20
+ klass.new(session, label, value, path, field)
20
21
  end.find(&:matches?)
21
22
  end
22
-
23
- private
24
-
25
- def field
26
- @field ||= session.find_field(label)
27
- end
28
23
  end
29
24
 
30
25
  class MultipleSelect < Field
@@ -59,11 +54,7 @@ module Chop
59
54
 
60
55
  def fill_in!
61
56
  checkboxes.each do |checkbox|
62
- if checkbox_label_in_values? checkbox
63
- session.check(checkbox[:id])
64
- else
65
- session.uncheck(checkbox[:id])
66
- end
57
+ checkbox.set checkbox_label_in_values?(checkbox)
67
58
  end
68
59
  end
69
60
 
@@ -86,11 +77,7 @@ module Chop
86
77
  end
87
78
 
88
79
  def fill_in!
89
- if value.present?
90
- session.check label
91
- else
92
- session.uncheck label
93
- end
80
+ field.set value.present?
94
81
  end
95
82
  end
96
83
 
@@ -126,7 +113,7 @@ module Chop
126
113
  end
127
114
 
128
115
  def fill_in!
129
- session.attach_file label, ::File.join(path, value)
116
+ field.set ::File.join(path, value)
130
117
  end
131
118
  end
132
119
 
@@ -136,7 +123,7 @@ module Chop
136
123
  end
137
124
 
138
125
  def fill_in!
139
- session.fill_in label, with: value
126
+ field.set value
140
127
  end
141
128
  end
142
129
  end
data/lib/chop/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Chop
2
- VERSION = "0.13.1"
2
+ VERSION = "0.13.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.1
4
+ version: 0.13.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micah Geisel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-09 00:00:00.000000000 Z
11
+ date: 2017-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord