eots 0.0.2 → 0.0.3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7a7b1aef85e716be6721b9c6e0894570f74c07e5
4
- data.tar.gz: f8c562828715aa4a803673382bb951a38720a625
3
+ metadata.gz: 7333f8e012a365f06d6873c7e74d3c64921a4187
4
+ data.tar.gz: 74235b892a45452e64849da2dccb65a8463204c6
5
5
  SHA512:
6
- metadata.gz: cc102b12d9d70cbebba05ecdfb350e0ae1795412a1f1ca5a2b348cf3f3ecbcc2280a69869b75a88b42d47bd5e23e27583ed6fda0a644a8db1f5f835a10a6ec3d
7
- data.tar.gz: 780a31fc56d165c066f2f718fed70c7b852f06181ad41619281e35fec3117e7fd00ff6375bd2bfbf796a361de0805d8f85a6d17535e71dd7841ef32d4616860b
6
+ metadata.gz: 8663169bd4e64e78d1847d737d7880dda33b2444a20ef54e3cdef7d96e763e0a931590dc6290f64113b95a045efef8c8951f4e86416194b6c808832c86fa06a9
7
+ data.tar.gz: 3b7e7270746ee1ae2a435ddff965b7cfb910321b679f1282c866f5f81bb461b6e5927082ae09e74a954458ce1687f561286ed78bcee4d2731f20c69356aae1ce
@@ -1,5 +1,7 @@
1
1
  class EOTS::Email # an instance, as opposed to the whole kind
2
2
 
3
+ MissingRequiredFieldsError = Class.new(RuntimeError)
4
+
3
5
  attr_reader :kind, :values
4
6
 
5
7
  EOTS::STANDARD_FIELDS.each do |field|
@@ -21,14 +23,15 @@ class EOTS::Email # an instance, as opposed to the whole kind
21
23
  # TEMPORARY KLUGE, UNTIL I MAKE THE VALUES A SUB-HASH:
22
24
  values = params.dup
23
25
  %w(action controller authenticity_token commit kind utf8).each { |k| values.delete k }
24
- check_value_names(values, kind) if values
26
+ check_value_names(values, kind) if values.any?
27
+ check_required_fields(values, kind)
25
28
  self.new(kind, values)
26
29
  end
27
30
 
28
31
  def body
29
32
  parts = [kind.name.titleize]
30
33
  kind.form_fields.values.flatten.each do |field|
31
- parts << "> #{"* " if field.html_options[:required]}#{field.label}"
34
+ parts << "> #{"* " if field.required?}#{field.label}"
32
35
  reply = values[field.name]
33
36
  parts << (reply.present? ? reply : "(not answered)")
34
37
  end
@@ -41,6 +44,18 @@ class EOTS::Email # an instance, as opposed to the whole kind
41
44
 
42
45
  private
43
46
 
47
+ def self.check_required_fields(values, kind)
48
+ required = kind.form_fields.values.flatten.select { |f| f.required? }.map(&:name)
49
+ puts "required: #{ required.map { |n| "#{n} (#{n.class.name})" }.join(", ") }"
50
+ given = values.keys
51
+ puts "given: #{ given.map { |n| "#{n} (#{n.class.name})" }.join(", ") }"
52
+ missing = required - given
53
+ if missing.any?
54
+ raise(MissingRequiredFieldsError,
55
+ "Missing required field(s) #{missing.sort.to_sentence}")
56
+ end
57
+ end
58
+
44
59
  def self.check_value_names(values, kind)
45
60
  field_names = kind.form_fields.values.flatten.map &:name
46
61
  errs = values.keys.reject { |key| field_names.include? key }
@@ -20,7 +20,7 @@ class EOTS::Field
20
20
  end
21
21
 
22
22
  def html(form)
23
- star = "* " if html_options[:required]
23
+ star = "* " if required?
24
24
  result = form.label_tag(name, "#{star}#{label}".html_safe)
25
25
  type = html_options[:type]
26
26
  if type.to_sym == :checkbox # to_sym 'cuz it could be string or symbol
@@ -40,6 +40,10 @@ class EOTS::Field
40
40
  result
41
41
  end
42
42
 
43
+ def required?
44
+ html_options[:required]
45
+ end
46
+
43
47
  private
44
48
 
45
49
  def apply_defaults(opts)
data/lib/eots/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module EOTS
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: /Users/dave/computer/opensource/eots
3
3
  specs:
4
- eots (0.0.1)
4
+ eots (0.0.2)
5
5
  rails
6
6
 
7
7
  GEM
@@ -599,3 +599,99 @@ Processing by EOTS::EOTSController#show as HTML
599
599
  Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
600
600
  Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.8ms)
601
601
  Completed 200 OK in 137ms (Views: 134.7ms)
602
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:33:31 -0400
603
+ Processing by EOTS::EOTSController#show as HTML
604
+ Parameters: {"kind"=>"inner_kind"}
605
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
606
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
607
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
608
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.6ms)
609
+ Completed 200 OK in 143ms (Views: 140.1ms)
610
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:34:28 -0400
611
+ Processing by EOTS::EOTSController#show as HTML
612
+ Parameters: {"kind"=>"inner_kind"}
613
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
614
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
615
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
616
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.6ms)
617
+ Completed 200 OK in 136ms (Views: 133.5ms)
618
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:34:47 -0400
619
+ Processing by EOTS::EOTSController#show as HTML
620
+ Parameters: {"kind"=>"inner_kind"}
621
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
622
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
623
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
624
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.6ms)
625
+ Completed 200 OK in 142ms (Views: 138.9ms)
626
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:35:27 -0400
627
+ Processing by EOTS::EOTSController#show as HTML
628
+ Parameters: {"kind"=>"inner_kind"}
629
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
630
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
631
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
632
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (6.0ms)
633
+ Completed 200 OK in 138ms (Views: 134.8ms)
634
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:36:01 -0400
635
+ Processing by EOTS::EOTSController#show as HTML
636
+ Parameters: {"kind"=>"inner_kind"}
637
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
638
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
639
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
640
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.5ms)
641
+ Completed 200 OK in 136ms (Views: 133.6ms)
642
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:37:27 -0400
643
+ Processing by EOTS::EOTSController#show as HTML
644
+ Parameters: {"kind"=>"inner_kind"}
645
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
646
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
647
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
648
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.6ms)
649
+ Completed 200 OK in 136ms (Views: 133.5ms)
650
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:38:06 -0400
651
+ Processing by EOTS::EOTSController#show as HTML
652
+ Parameters: {"kind"=>"inner_kind"}
653
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
654
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
655
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
656
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.5ms)
657
+ Completed 200 OK in 142ms (Views: 139.5ms)
658
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 17:39:43 -0400
659
+ Processing by EOTS::EOTSController#show as HTML
660
+ Parameters: {"kind"=>"inner_kind"}
661
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
662
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
663
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
664
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.7ms)
665
+ Completed 200 OK in 135ms (Views: 132.2ms)
666
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 18:00:14 -0400
667
+ Processing by EOTS::EOTSController#show as HTML
668
+ Parameters: {"kind"=>"inner_kind"}
669
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.5ms)
670
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
671
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
672
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (5.7ms)
673
+ Completed 200 OK in 145ms (Views: 141.4ms)
674
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 18:00:41 -0400
675
+ Processing by EOTS::EOTSController#show as HTML
676
+ Parameters: {"kind"=>"inner_kind"}
677
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.7ms)
678
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.4ms)
679
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.3ms)
680
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (6.2ms)
681
+ Completed 200 OK in 144ms (Views: 141.0ms)
682
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 18:01:06 -0400
683
+ Processing by EOTS::EOTSController#show as HTML
684
+ Parameters: {"kind"=>"inner_kind"}
685
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.8ms)
686
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.3ms)
687
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
688
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (6.4ms)
689
+ Completed 200 OK in 143ms (Views: 140.1ms)
690
+ Started GET "/contact_emails/inner_kind" for 127.0.0.1 at 2016-07-24 18:01:33 -0400
691
+ Processing by EOTS::EOTSController#show as HTML
692
+ Parameters: {"kind"=>"inner_kind"}
693
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.6ms)
694
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.3ms)
695
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/_field.html.erb (0.2ms)
696
+ Rendered /Users/dave/computer/opensource/eots/app/views/eots/eots/show.html.erb within layouts/application (8.0ms)
697
+ Completed 200 OK in 143ms (Views: 139.9ms)
@@ -2,7 +2,9 @@ describe EOTS do
2
2
 
3
3
  before do
4
4
 
5
- EOTS::email_type("top_level",
5
+ EOTS::reset
6
+
7
+ EOTS::email_kind("top_level",
6
8
  header: "Thank you for contacting us.",
7
9
  footer: "We will contact you back as soon as possible.") do
8
10
 
@@ -15,19 +17,20 @@ describe EOTS do
15
17
  caption: "Make sure this is right or I won't be able to contact you!")
16
18
 
17
19
  EOTS::field("not_spambot", "I am not a spambot", type: :checkbox,
20
+ required: true,
18
21
  section: :footer)
19
22
 
20
- EOTS::email_type("general") do
23
+ EOTS::email_kind("general") do
21
24
  EOTS::field("body", "What do you want to tell or ask us?",
22
25
  type: :textarea, rows: 5, columns: 60, maxlength: 1024,
23
26
  caption: "Maximum 1k of text")
24
27
  end
25
28
 
26
- EOTS::email_type("non_general") do
29
+ EOTS::email_kind("non_general") do
27
30
 
28
31
  EOTS::field("body", "Anything else to tell or ask us?", type: :textarea)
29
32
 
30
- EOTS::email_type("sales_inquiry",
33
+ EOTS::email_kind("sales_inquiry",
31
34
  header: "We look forward to serving you!",
32
35
  footer: "Thank you for your patronage!") do
33
36
 
@@ -42,15 +45,15 @@ describe EOTS do
42
45
 
43
46
  end
44
47
 
45
- EOTS::email_type("customer service inquiry",
48
+ EOTS::email_kind("customer service inquiry",
46
49
  header: "We're sorry you're not 100% satisfied.",
47
50
  footer: "We'll do all we can to make things right.") do
48
51
 
49
- EOTS::field("name", "What product are you having a problem with?",
52
+ EOTS::field("product", "What product are you having a problem with?",
50
53
  columns: 60, maxlength: 60,
51
54
  caption: "Please include the product number if you can")
52
55
 
53
- EOTS::field("name", "What is the problem?",
56
+ EOTS::field("problem", "What is the problem?",
54
57
  type: :textarea, rows: 5, columns: 60, maxlength: 1024,
55
58
  caption: "Maximum 1k of text")
56
59
 
@@ -81,4 +84,19 @@ describe EOTS do
81
84
  it "enforces maximums on integers correctly"
82
85
  end
83
86
 
87
+ describe "#send_email" do
88
+ describe "checks requiredness of fields" do
89
+ it "barfs if any are missing" do
90
+ params = HashWithIndifferentAccess.new({ kind: "general" })
91
+ expect { EOTS::Email.create_from_params(params) }.
92
+ to raise_error(EOTS::Email::MissingRequiredFieldsError)
93
+ end
94
+ it "doesn't barfs if all are supplied" do
95
+ params = HashWithIndifferentAccess.new({ kind: "general",
96
+ not_spambot: true })
97
+ expect { EOTS::Email.create_from_params(params) }.not_to raise_error
98
+ end
99
+ end
100
+ end
101
+
84
102
  end
@@ -0,0 +1 @@
1
+ "%��Rm�v�S3.��O�L���ڹc�ƕq�=_j�
@@ -0,0 +1 @@
1
+ "%Ѱč@�����6H�uZoX�Z�gbh0W��V
@@ -0,0 +1 @@
1
+ "%��Rm�v�S3.��O�L���ڹc�ƕq�=_j�
@@ -0,0 +1 @@
1
+ "%�W\�yho9S���ƫ˥��)|�~���(���
@@ -0,0 +1 @@
1
+ "%�W\�yho9S���ƫ˥��)|�~���(���
@@ -0,0 +1 @@
1
+ "%Ѱč@�����6H�uZoX�Z�gbh0W��V
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eots
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dave Aronson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-17 00:00:00.000000000 Z
11
+ date: 2016-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -110,17 +110,21 @@ files:
110
110
  - spec/dummy/spec/unit/email_kind_spec.rb
111
111
  - spec/dummy/spec/unit/eots_spec.rb
112
112
  - spec/dummy/spec/unit/field_spec.rb
113
+ - spec/dummy/tmp/cache/sprockets/v3.0/0GcQWMG6UERBaB6nzxLeANB2J9owuj1dcC_VJmzOSPo.cache
113
114
  - spec/dummy/tmp/cache/sprockets/v3.0/0RCX1g6aQPCN1X94TtJN8MINVXsqaHH14bKVfzjGXNY.cache
115
+ - spec/dummy/tmp/cache/sprockets/v3.0/1NKuebHTrulWJG5e_fhYPKMnbe6h2vkNuX1q-vDmZ8Q.cache
114
116
  - spec/dummy/tmp/cache/sprockets/v3.0/3ntMIa1diZ9pMuINbYDhyA2U4Hy6mNMNAxYbuox4hzk.cache
115
117
  - spec/dummy/tmp/cache/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
116
118
  - spec/dummy/tmp/cache/sprockets/v3.0/6Uj58Wch32M5GXpzryd2sADR_AALEvJwfJiGmj_StTE.cache
117
119
  - spec/dummy/tmp/cache/sprockets/v3.0/9JaB_YWzSKr6UPA8QSlW6uh_xtdAzgqr0PWKb7zOs-Q.cache
118
120
  - spec/dummy/tmp/cache/sprockets/v3.0/Ac69TcV6FfXabo8e-rphL_TeeNz5rwUFbPmQDyhT5VM.cache
121
+ - spec/dummy/tmp/cache/sprockets/v3.0/Efeo_1WVsT4Dap2Z_YBJGrcgmGphyxSLKEVHfoqe6KE.cache
119
122
  - spec/dummy/tmp/cache/sprockets/v3.0/F69YPXIf2edO_SGtxxpMcg_zMQIIfyWWZApPCP0ZPJg.cache
120
123
  - spec/dummy/tmp/cache/sprockets/v3.0/FLsx8bQSMDiBGj2js-NSZ7l8_T3YLZGRIBdhBAbdLQ8.cache
121
124
  - spec/dummy/tmp/cache/sprockets/v3.0/FWQ8Gy0SYezyHnYNSOQO00ERhBv_XqjH2AQo89gHsQU.cache
122
125
  - spec/dummy/tmp/cache/sprockets/v3.0/G0X1ZoxQfZElvSVKrJq8f6JSYoq7A5AlacgMOUS3_fA.cache
123
126
  - spec/dummy/tmp/cache/sprockets/v3.0/I8QyyWPde7gdCifUNc_UuVuuuy7P-N_wWaOlB2F0-wg.cache
127
+ - spec/dummy/tmp/cache/sprockets/v3.0/Lds5V6bFFL45QqPzDRtE7NmQbSrgP7lJ2cYgGgn9NFg.cache
124
128
  - spec/dummy/tmp/cache/sprockets/v3.0/LgjfJkyKstIrcG85QEALUQijdPUhSDMuahnhgT0tuGk.cache
125
129
  - spec/dummy/tmp/cache/sprockets/v3.0/NODTcGA3KAs_UNrXeUK7ua07e5TGLeiopgYkZF1YrAM.cache
126
130
  - spec/dummy/tmp/cache/sprockets/v3.0/NpodKRyMyfN-hYvDMY8Dqfrm9ZRIKIaluMViE2x3eK8.cache
@@ -129,10 +133,13 @@ files:
129
133
  - spec/dummy/tmp/cache/sprockets/v3.0/RyuuLTTyuJMnhQpPyRYT-GIISGOG2PtJcD0EYIEQ51Q.cache
130
134
  - spec/dummy/tmp/cache/sprockets/v3.0/TmSYCXUWBNTXkBJl68gF3_TW4nrXB5e7zOrmfeduwrY.cache
131
135
  - spec/dummy/tmp/cache/sprockets/v3.0/VfRiaQoJWN9kYydt6-bgXvip-ETv7oFQ4UXjl0Yq_ic.cache
136
+ - spec/dummy/tmp/cache/sprockets/v3.0/ZN6N2dY1J8JRQEdRyQdh303GkqnF4RNe73fgBx7WYY4.cache
132
137
  - spec/dummy/tmp/cache/sprockets/v3.0/aMShh1T9yFNRIiUmnPVKbZkFGoG4MHccQ1MKCm38JSU.cache
133
138
  - spec/dummy/tmp/cache/sprockets/v3.0/c0dA8KQChF9bJJpBalejx2C26lRB4Zyx6gJOBmSATXs.cache
139
+ - spec/dummy/tmp/cache/sprockets/v3.0/cl0X7_C9eEAqnbdYS2SI9usxJIGKmg2f70AnOEUYNm0.cache
134
140
  - spec/dummy/tmp/cache/sprockets/v3.0/davW6NYx79KwUJhyi6Tnvxaj34483QJUZK0Cnfabg8k.cache
135
141
  - spec/dummy/tmp/cache/sprockets/v3.0/fU6DY9gYGBAmRXCUe_roiS2dqcxj_hX_ErldQFZiHtc.cache
142
+ - spec/dummy/tmp/cache/sprockets/v3.0/gG-Z8Ilf8kMuZmz26RsAMfQjRtQYyJ1nPtmQivvk3Rs.cache
136
143
  - spec/dummy/tmp/cache/sprockets/v3.0/hKvyvQHo0NIwRbSneYEgEyTzpYyDujdN-lGcWo5kAhw.cache
137
144
  - spec/dummy/tmp/cache/sprockets/v3.0/hN0aXCmRyzra8g0vx1ao03QPCs3hDg5BzOiDE0EJuG0.cache
138
145
  - spec/dummy/tmp/cache/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache
@@ -142,6 +149,7 @@ files:
142
149
  - spec/dummy/tmp/cache/sprockets/v3.0/pwUm81zFbRiD7SMT3oZbuyQxtTma9A6KRDGp5bngaxs.cache
143
150
  - spec/dummy/tmp/cache/sprockets/v3.0/svuNuIM179iBV9Fg_Sdhn7O94pjChsCERObyI5nlhzo.cache
144
151
  - spec/dummy/tmp/cache/sprockets/v3.0/v1AfZrsv4fWdl9mSy0ABU7MFx0JrLSeXIgKoo_7-kbE.cache
152
+ - spec/dummy/tmp/cache/sprockets/v3.0/yV0wGySw-djATz-sHpcjqLm9Pa4YjRPVOFcPkVCA-HQ.cache
145
153
  homepage: https://github.com/davearonson/eots
146
154
  licenses:
147
155
  - MIT
@@ -212,7 +220,9 @@ test_files:
212
220
  - spec/dummy/spec/unit/email_kind_spec.rb
213
221
  - spec/dummy/spec/unit/eots_spec.rb
214
222
  - spec/dummy/spec/unit/field_spec.rb
223
+ - spec/dummy/tmp/cache/sprockets/v3.0/0GcQWMG6UERBaB6nzxLeANB2J9owuj1dcC_VJmzOSPo.cache
215
224
  - spec/dummy/tmp/cache/sprockets/v3.0/0RCX1g6aQPCN1X94TtJN8MINVXsqaHH14bKVfzjGXNY.cache
225
+ - spec/dummy/tmp/cache/sprockets/v3.0/1NKuebHTrulWJG5e_fhYPKMnbe6h2vkNuX1q-vDmZ8Q.cache
216
226
  - spec/dummy/tmp/cache/sprockets/v3.0/3ntMIa1diZ9pMuINbYDhyA2U4Hy6mNMNAxYbuox4hzk.cache
217
227
  - spec/dummy/tmp/cache/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
218
228
  - spec/dummy/tmp/cache/sprockets/v3.0/6Uj58Wch32M5GXpzryd2sADR_AALEvJwfJiGmj_StTE.cache
@@ -220,16 +230,20 @@ test_files:
220
230
  - spec/dummy/tmp/cache/sprockets/v3.0/Ac69TcV6FfXabo8e-rphL_TeeNz5rwUFbPmQDyhT5VM.cache
221
231
  - spec/dummy/tmp/cache/sprockets/v3.0/aMShh1T9yFNRIiUmnPVKbZkFGoG4MHccQ1MKCm38JSU.cache
222
232
  - spec/dummy/tmp/cache/sprockets/v3.0/c0dA8KQChF9bJJpBalejx2C26lRB4Zyx6gJOBmSATXs.cache
233
+ - spec/dummy/tmp/cache/sprockets/v3.0/cl0X7_C9eEAqnbdYS2SI9usxJIGKmg2f70AnOEUYNm0.cache
223
234
  - spec/dummy/tmp/cache/sprockets/v3.0/davW6NYx79KwUJhyi6Tnvxaj34483QJUZK0Cnfabg8k.cache
235
+ - spec/dummy/tmp/cache/sprockets/v3.0/Efeo_1WVsT4Dap2Z_YBJGrcgmGphyxSLKEVHfoqe6KE.cache
224
236
  - spec/dummy/tmp/cache/sprockets/v3.0/F69YPXIf2edO_SGtxxpMcg_zMQIIfyWWZApPCP0ZPJg.cache
225
237
  - spec/dummy/tmp/cache/sprockets/v3.0/FLsx8bQSMDiBGj2js-NSZ7l8_T3YLZGRIBdhBAbdLQ8.cache
226
238
  - spec/dummy/tmp/cache/sprockets/v3.0/fU6DY9gYGBAmRXCUe_roiS2dqcxj_hX_ErldQFZiHtc.cache
227
239
  - spec/dummy/tmp/cache/sprockets/v3.0/FWQ8Gy0SYezyHnYNSOQO00ERhBv_XqjH2AQo89gHsQU.cache
228
240
  - spec/dummy/tmp/cache/sprockets/v3.0/G0X1ZoxQfZElvSVKrJq8f6JSYoq7A5AlacgMOUS3_fA.cache
241
+ - spec/dummy/tmp/cache/sprockets/v3.0/gG-Z8Ilf8kMuZmz26RsAMfQjRtQYyJ1nPtmQivvk3Rs.cache
229
242
  - spec/dummy/tmp/cache/sprockets/v3.0/hKvyvQHo0NIwRbSneYEgEyTzpYyDujdN-lGcWo5kAhw.cache
230
243
  - spec/dummy/tmp/cache/sprockets/v3.0/hN0aXCmRyzra8g0vx1ao03QPCs3hDg5BzOiDE0EJuG0.cache
231
244
  - spec/dummy/tmp/cache/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache
232
245
  - spec/dummy/tmp/cache/sprockets/v3.0/I8QyyWPde7gdCifUNc_UuVuuuy7P-N_wWaOlB2F0-wg.cache
246
+ - spec/dummy/tmp/cache/sprockets/v3.0/Lds5V6bFFL45QqPzDRtE7NmQbSrgP7lJ2cYgGgn9NFg.cache
233
247
  - spec/dummy/tmp/cache/sprockets/v3.0/LgjfJkyKstIrcG85QEALUQijdPUhSDMuahnhgT0tuGk.cache
234
248
  - spec/dummy/tmp/cache/sprockets/v3.0/NODTcGA3KAs_UNrXeUK7ua07e5TGLeiopgYkZF1YrAM.cache
235
249
  - spec/dummy/tmp/cache/sprockets/v3.0/NpodKRyMyfN-hYvDMY8Dqfrm9ZRIKIaluMViE2x3eK8.cache
@@ -244,3 +258,5 @@ test_files:
244
258
  - spec/dummy/tmp/cache/sprockets/v3.0/TmSYCXUWBNTXkBJl68gF3_TW4nrXB5e7zOrmfeduwrY.cache
245
259
  - spec/dummy/tmp/cache/sprockets/v3.0/v1AfZrsv4fWdl9mSy0ABU7MFx0JrLSeXIgKoo_7-kbE.cache
246
260
  - spec/dummy/tmp/cache/sprockets/v3.0/VfRiaQoJWN9kYydt6-bgXvip-ETv7oFQ4UXjl0Yq_ic.cache
261
+ - spec/dummy/tmp/cache/sprockets/v3.0/yV0wGySw-djATz-sHpcjqLm9Pa4YjRPVOFcPkVCA-HQ.cache
262
+ - spec/dummy/tmp/cache/sprockets/v3.0/ZN6N2dY1J8JRQEdRyQdh303GkqnF4RNe73fgBx7WYY4.cache