spree_core 1.0.0.rc1 → 1.0.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. data/LICENSE +1 -1
  2. data/app/assets/javascripts/admin/shipping_methods.js +14 -0
  3. data/app/assets/stylesheets/store/reset.css +1 -1
  4. data/app/controllers/spree/admin/orders/customer_details_controller.rb +1 -1
  5. data/app/controllers/spree/admin/resource_controller.rb +1 -1
  6. data/app/controllers/spree/admin/shipping_methods_controller.rb +9 -0
  7. data/app/controllers/spree/admin/users_controller.rb +7 -0
  8. data/app/helpers/spree/admin/base_helper.rb +4 -3
  9. data/app/helpers/spree/admin/navigation_helper.rb +3 -1
  10. data/app/models/spree/order.rb +3 -3
  11. data/app/models/spree/preferences/preferable.rb +9 -0
  12. data/app/models/spree/product.rb +2 -2
  13. data/app/models/spree/shipment.rb +1 -1
  14. data/app/models/spree/shipping_category.rb +2 -0
  15. data/app/models/spree/shipping_method.rb +17 -1
  16. data/app/models/spree/tax_rate.rb +3 -1
  17. data/app/models/spree/variant.rb +1 -1
  18. data/app/models/spree/zone.rb +9 -9
  19. data/app/views/spree/admin/adjustments/edit.html.erb +1 -1
  20. data/app/views/spree/admin/orders/_form.html.erb +1 -1
  21. data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -1
  22. data/app/views/spree/admin/payment_methods/edit.html.erb +1 -1
  23. data/app/views/spree/admin/product_properties/index.html.erb +1 -1
  24. data/app/views/spree/admin/products/edit.html.erb +1 -1
  25. data/app/views/spree/admin/shared/_destroy.js.erb +1 -1
  26. data/app/views/spree/admin/shipments/edit.html.erb +1 -1
  27. data/app/views/spree/admin/shipping_methods/_form.html.erb +15 -0
  28. data/app/views/spree/admin/taxons/edit.html.erb +1 -1
  29. data/app/views/spree/admin/zones/_form.html.erb +4 -5
  30. data/app/views/spree/checkout/edit.html.erb +1 -1
  31. data/app/views/spree/checkout/registration.html.erb +1 -1
  32. data/app/views/spree/orders/new.html.erb +1 -1
  33. data/app/views/spree/shared/_filters.html.erb +1 -1
  34. data/config/locales/en.yml +9 -2
  35. data/config/routes.rb +1 -0
  36. data/db/migrate/20120105193911_associate_shipping_methods_and_shipping_categories.rb +7 -0
  37. data/db/migrate/20120105195817_add_match_rules_to_shipping_methods.rb +7 -0
  38. data/lib/generators/spree/dummy/dummy_generator.rb +1 -0
  39. data/lib/generators/spree/dummy/templates/rails/script/rails +6 -0
  40. data/lib/generators/spree/install/install_generator.rb +167 -0
  41. data/lib/generators/spree/install/templates/app/assets/javascripts/admin/all.js +15 -0
  42. data/lib/generators/spree/install/templates/app/assets/javascripts/store/all.js +15 -0
  43. data/lib/generators/spree/install/templates/app/assets/stylesheets/admin/all.css +16 -0
  44. data/lib/generators/spree/install/templates/app/assets/stylesheets/store/all.css +16 -0
  45. data/lib/generators/spree/install/templates/config/initializers/spree.rb +9 -0
  46. data/lib/spree/core.rb +2 -2
  47. data/lib/spree/core/controller_helpers.rb +6 -0
  48. data/lib/spree/core/engine.rb +1 -1
  49. data/lib/spree/core/middleware/seo_assist.rb +2 -1
  50. data/lib/spree/core/ssl_requirement.rb +2 -2
  51. data/lib/spree/core/testing_support/common_rake.rb +1 -1
  52. data/lib/spree/core/testing_support/factories/shipping_method_factory.rb +10 -0
  53. data/lib/spree/core/version.rb +1 -1
  54. data/lib/spree/product_filters.rb +9 -7
  55. metadata +125 -242
  56. data/lib/generators/spree/extension/extension_generator.rb +0 -25
  57. data/lib/generators/spree/extension/templates/Gemfile +0 -13
  58. data/lib/generators/spree/extension/templates/LICENSE +0 -26
  59. data/lib/generators/spree/extension/templates/README.md +0 -21
  60. data/lib/generators/spree/extension/templates/Rakefile +0 -29
  61. data/lib/generators/spree/extension/templates/Versionfile +0 -9
  62. data/lib/generators/spree/extension/templates/app/assets/javascripts/admin/%file_name%.js +0 -1
  63. data/lib/generators/spree/extension/templates/app/assets/javascripts/store/%file_name%.js +0 -1
  64. data/lib/generators/spree/extension/templates/app/assets/stylesheets/admin/%file_name%.css +0 -3
  65. data/lib/generators/spree/extension/templates/app/assets/stylesheets/store/%file_name%.css +0 -3
  66. data/lib/generators/spree/extension/templates/config/locales/en.yml +0 -5
  67. data/lib/generators/spree/extension/templates/config/routes.rb +0 -3
  68. data/lib/generators/spree/extension/templates/extension.gemspec +0 -26
  69. data/lib/generators/spree/extension/templates/gitignore +0 -10
  70. data/lib/generators/spree/extension/templates/lib/%file_name%.rb.tt +0 -2
  71. data/lib/generators/spree/extension/templates/lib/%file_name%/engine.rb.tt +0 -20
  72. data/lib/generators/spree/extension/templates/lib/generators/%file_name%/install/install_generator.rb.tt +0 -29
  73. data/lib/generators/spree/extension/templates/rspec +0 -1
  74. data/lib/generators/spree/extension/templates/script/rails.tt +0 -5
  75. data/lib/generators/spree/extension/templates/spec/spec_helper.rb.tt +0 -32
@@ -1,5 +1,5 @@
1
1
  module Spree
2
2
  def self.version
3
- "1.0.0.rc1"
3
+ "1.0.0.rc2"
4
4
  end
5
5
  end
@@ -46,7 +46,9 @@ module Spree
46
46
  # happen until Taxon class is loaded. Ensure that Taxon class is loaded before
47
47
  # you try something like Product.price_range_any
48
48
  module ProductFilters
49
-
49
+ extend ActionView::Helpers::NumberHelper
50
+ extend Spree::BaseHelper
51
+
50
52
  # Example: filtering by price
51
53
  # The named scope just maps incoming labels onto their conditions, and builds the conjunction
52
54
  # 'price' is in the base scope's context (ie, "select foo from products where ...") so
@@ -63,12 +65,12 @@ module Spree
63
65
  }
64
66
 
65
67
  def ProductFilters.price_filter
66
- conds = [ [ "Under $10", "price <= 10" ],
67
- [ "$10 - $15", "price between 10 and 15" ],
68
- [ "$15 - $18", "price between 15 and 18" ],
69
- [ "$18 - $20", "price between 18 and 20" ],
70
- [ "$20 or over", "price >= 20" ] ]
71
- { :name => "Price Range",
68
+ conds = [ [ "Under #{format_price(10)}", "price <= 10" ],
69
+ [ "#{format_price(10)} - #{format_price(15)}", "price between 10 and 15" ],
70
+ [ "#{format_price(15)} - #{format_price(18)}", "price between 15 and 18" ],
71
+ [ "#{format_price(18)} - #{format_price(20)}", "price between 18 and 20" ],
72
+ [ "#{format_price(20)} or over", "price >= 20" ] ]
73
+ { :name => I18n.t(:price_range),
72
74
  :scope => :price_range_any,
73
75
  :conds => Hash[*conds.flatten],
74
76
  :labels => conds.map {|k,v| [k,k]}
metadata CHANGED
@@ -1,265 +1,171 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: spree_core
3
- version: !ruby/object:Gem::Version
4
- hash: 15424055
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.rc2
5
5
  prerelease: 6
6
- segments:
7
- - 1
8
- - 0
9
- - 0
10
- - rc
11
- - 1
12
- version: 1.0.0.rc1
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - Sean Schofield
16
9
  autorequire:
17
10
  bindir: bin
18
11
  cert_chain: []
19
-
20
- date: 2011-12-23 00:00:00 Z
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
24
- none: false
25
- requirements:
26
- - - "="
27
- - !ruby/object:Gem::Version
28
- hash: 19
29
- segments:
30
- - 0
31
- - 1
32
- - 4
33
- version: 0.1.4
34
- requirement: *id001
35
- type: :runtime
36
- prerelease: false
12
+ date: 2012-01-14 00:00:00.000000000Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
37
15
  name: acts_as_list
38
- - !ruby/object:Gem::Dependency
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
16
+ requirement: &70152003681720 !ruby/object:Gem::Requirement
40
17
  none: false
41
- requirements:
42
- - - "="
43
- - !ruby/object:Gem::Version
44
- hash: 31
45
- segments:
46
- - 1
47
- - 6
48
- - 8
49
- version: 1.6.8
50
- requirement: *id002
18
+ requirements:
19
+ - - =
20
+ - !ruby/object:Gem::Version
21
+ version: 0.1.4
51
22
  type: :runtime
52
23
  prerelease: false
24
+ version_requirements: *70152003681720
25
+ - !ruby/object:Gem::Dependency
53
26
  name: nested_set
54
- - !ruby/object:Gem::Dependency
55
- version_requirements: &id003 !ruby/object:Gem::Requirement
56
- none: false
57
- requirements:
58
- - - "="
59
- - !ruby/object:Gem::Version
60
- hash: 25
61
- segments:
62
- - 0
63
- - 1
64
- - 1
65
- version: 0.1.1
66
- requirement: *id003
67
- type: :runtime
68
- prerelease: false
69
- name: rd_find_by_param
70
- - !ruby/object:Gem::Dependency
71
- version_requirements: &id004 !ruby/object:Gem::Requirement
27
+ requirement: &70152003680940 !ruby/object:Gem::Requirement
72
28
  none: false
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- hash: 51
77
- segments:
78
- - 1
79
- - 0
80
- - 18
81
- version: 1.0.18
82
- requirement: *id004
29
+ requirements:
30
+ - - =
31
+ - !ruby/object:Gem::Version
32
+ version: 1.6.8
83
33
  type: :runtime
84
34
  prerelease: false
35
+ version_requirements: *70152003680940
36
+ - !ruby/object:Gem::Dependency
85
37
  name: jquery-rails
86
- - !ruby/object:Gem::Dependency
87
- version_requirements: &id005 !ruby/object:Gem::Requirement
38
+ requirement: &70152003680160 !ruby/object:Gem::Requirement
88
39
  none: false
89
- requirements:
90
- - - "="
91
- - !ruby/object:Gem::Version
92
- hash: 11
93
- segments:
94
- - 1
95
- - 6
96
- - 2
97
- version: 1.6.2
98
- requirement: *id005
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: 1.0.18
44
+ - - <=
45
+ - !ruby/object:Gem::Version
46
+ version: 1.0.19
99
47
  type: :runtime
100
48
  prerelease: false
49
+ version_requirements: *70152003680160
50
+ - !ruby/object:Gem::Dependency
101
51
  name: highline
102
- - !ruby/object:Gem::Dependency
103
- version_requirements: &id006 !ruby/object:Gem::Requirement
52
+ requirement: &70152003678860 !ruby/object:Gem::Requirement
104
53
  none: false
105
- requirements:
106
- - - "="
107
- - !ruby/object:Gem::Version
108
- hash: 19
109
- segments:
110
- - 1
111
- - 1
112
- - 0
113
- version: 1.1.0
114
- requirement: *id006
54
+ requirements:
55
+ - - =
56
+ - !ruby/object:Gem::Version
57
+ version: 1.6.8
115
58
  type: :runtime
116
59
  prerelease: false
60
+ version_requirements: *70152003678860
61
+ - !ruby/object:Gem::Dependency
117
62
  name: state_machine
118
- - !ruby/object:Gem::Dependency
119
- version_requirements: &id007 !ruby/object:Gem::Requirement
63
+ requirement: &70152003678180 !ruby/object:Gem::Requirement
120
64
  none: false
121
- requirements:
122
- - - ~>
123
- - !ruby/object:Gem::Version
124
- hash: 61
125
- segments:
126
- - 1
127
- - 10
128
- - 1
129
- version: 1.10.1
130
- requirement: *id007
65
+ requirements:
66
+ - - =
67
+ - !ruby/object:Gem::Version
68
+ version: 1.1.1
131
69
  type: :runtime
132
70
  prerelease: false
71
+ version_requirements: *70152003678180
72
+ - !ruby/object:Gem::Dependency
133
73
  name: ffaker
134
- - !ruby/object:Gem::Dependency
135
- version_requirements: &id008 !ruby/object:Gem::Requirement
74
+ requirement: &70152003677480 !ruby/object:Gem::Requirement
136
75
  none: false
137
- requirements:
138
- - - "="
139
- - !ruby/object:Gem::Version
140
- hash: 29
141
- segments:
142
- - 2
143
- - 4
144
- - 1
145
- version: 2.4.1
146
- requirement: *id008
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 1.12.0
147
80
  type: :runtime
148
81
  prerelease: false
82
+ version_requirements: *70152003677480
83
+ - !ruby/object:Gem::Dependency
149
84
  name: paperclip
150
- - !ruby/object:Gem::Dependency
151
- version_requirements: &id009 !ruby/object:Gem::Requirement
85
+ requirement: &70152003676860 !ruby/object:Gem::Requirement
152
86
  none: false
153
- requirements:
154
- - - "="
155
- - !ruby/object:Gem::Version
156
- hash: 17
157
- segments:
158
- - 1
159
- - 1
160
- - 1
161
- version: 1.1.1
162
- requirement: *id009
87
+ requirements:
88
+ - - =
89
+ - !ruby/object:Gem::Version
90
+ version: 2.4.1
163
91
  type: :runtime
164
92
  prerelease: false
93
+ version_requirements: *70152003676860
94
+ - !ruby/object:Gem::Dependency
165
95
  name: meta_search
166
- - !ruby/object:Gem::Dependency
167
- version_requirements: &id010 !ruby/object:Gem::Requirement
96
+ requirement: &70152003676300 !ruby/object:Gem::Requirement
168
97
  none: false
169
- requirements:
170
- - - "="
171
- - !ruby/object:Gem::Version
172
- hash: 83
173
- segments:
174
- - 1
175
- - 17
176
- - 0
177
- version: 1.17.0
178
- requirement: *id010
98
+ requirements:
99
+ - - =
100
+ - !ruby/object:Gem::Version
101
+ version: 1.1.1
179
102
  type: :runtime
180
103
  prerelease: false
104
+ version_requirements: *70152003676300
105
+ - !ruby/object:Gem::Dependency
181
106
  name: activemerchant
182
- - !ruby/object:Gem::Dependency
183
- version_requirements: &id011 !ruby/object:Gem::Requirement
107
+ requirement: &70152003675740 !ruby/object:Gem::Requirement
108
+ none: false
109
+ requirements:
110
+ - - =
111
+ - !ruby/object:Gem::Version
112
+ version: 1.20.1
113
+ type: :runtime
114
+ prerelease: false
115
+ version_requirements: *70152003675740
116
+ - !ruby/object:Gem::Dependency
117
+ name: rails
118
+ requirement: &70152003675120 !ruby/object:Gem::Requirement
184
119
  none: false
185
- requirements:
186
- - - ">="
187
- - !ruby/object:Gem::Version
188
- hash: 1
189
- segments:
190
- - 3
191
- - 1
192
- - 1
120
+ requirements:
121
+ - - ! '>='
122
+ - !ruby/object:Gem::Version
193
123
  version: 3.1.1
194
124
  - - <=
195
- - !ruby/object:Gem::Version
196
- hash: 5
197
- segments:
198
- - 3
199
- - 1
200
- - 3
125
+ - !ruby/object:Gem::Version
201
126
  version: 3.1.3
202
- requirement: *id011
203
127
  type: :runtime
204
128
  prerelease: false
205
- name: rails
206
- - !ruby/object:Gem::Dependency
207
- version_requirements: &id012 !ruby/object:Gem::Requirement
129
+ version_requirements: *70152003675120
130
+ - !ruby/object:Gem::Dependency
131
+ name: kaminari
132
+ requirement: &70152003673840 !ruby/object:Gem::Requirement
208
133
  none: false
209
- requirements:
210
- - - ">="
211
- - !ruby/object:Gem::Version
212
- hash: 43
213
- segments:
214
- - 0
215
- - 13
216
- - 0
134
+ requirements:
135
+ - - ! '>='
136
+ - !ruby/object:Gem::Version
217
137
  version: 0.13.0
218
- requirement: *id012
219
138
  type: :runtime
220
139
  prerelease: false
221
- name: kaminari
222
- - !ruby/object:Gem::Dependency
223
- version_requirements: &id013 !ruby/object:Gem::Requirement
140
+ version_requirements: *70152003673840
141
+ - !ruby/object:Gem::Dependency
142
+ name: deface
143
+ requirement: &70152003673080 !ruby/object:Gem::Requirement
224
144
  none: false
225
- requirements:
226
- - - ">="
227
- - !ruby/object:Gem::Version
228
- hash: 7
229
- segments:
230
- - 0
231
- - 7
232
- - 2
145
+ requirements:
146
+ - - ! '>='
147
+ - !ruby/object:Gem::Version
233
148
  version: 0.7.2
234
- requirement: *id013
235
149
  type: :runtime
236
150
  prerelease: false
237
- name: deface
238
- - !ruby/object:Gem::Dependency
239
- version_requirements: &id014 !ruby/object:Gem::Requirement
151
+ version_requirements: *70152003673080
152
+ - !ruby/object:Gem::Dependency
153
+ name: stringex
154
+ requirement: &70152003672340 !ruby/object:Gem::Requirement
240
155
  none: false
241
- requirements:
156
+ requirements:
242
157
  - - ~>
243
- - !ruby/object:Gem::Version
244
- hash: 27
245
- segments:
246
- - 1
247
- - 3
248
- - 0
158
+ - !ruby/object:Gem::Version
249
159
  version: 1.3.0
250
- requirement: *id014
251
160
  type: :runtime
252
161
  prerelease: false
253
- name: stringex
162
+ version_requirements: *70152003672340
254
163
  description: Required dependency for Spree
255
- email: sean@railsdog.com
164
+ email: sean@spreecommerce.com
256
165
  executables: []
257
-
258
166
  extensions: []
259
-
260
167
  extra_rdoc_files: []
261
-
262
- files:
168
+ files:
263
169
  - LICENSE
264
170
  - README.md
265
171
  - app/assets/images/admin/bg/active-tab.png
@@ -366,6 +272,7 @@ files:
366
272
  - app/assets/javascripts/admin/orders/edit_form.js
367
273
  - app/assets/javascripts/admin/payments/new.js
368
274
  - app/assets/javascripts/admin/products.js
275
+ - app/assets/javascripts/admin/shipping_methods.js
369
276
  - app/assets/javascripts/admin/spree_core.js
370
277
  - app/assets/javascripts/admin/taxonomy.js
371
278
  - app/assets/javascripts/admin/underscore-min.js
@@ -756,26 +663,13 @@ files:
756
663
  - lib/generators/spree/dummy/templates/rails/boot.rb
757
664
  - lib/generators/spree/dummy/templates/rails/database.yml
758
665
  - lib/generators/spree/dummy/templates/rails/routes.rb
759
- - lib/generators/spree/extension/extension_generator.rb
760
- - lib/generators/spree/extension/templates/app/assets/javascripts/admin/%file_name%.js
761
- - lib/generators/spree/extension/templates/app/assets/javascripts/store/%file_name%.js
762
- - lib/generators/spree/extension/templates/app/assets/stylesheets/admin/%file_name%.css
763
- - lib/generators/spree/extension/templates/app/assets/stylesheets/store/%file_name%.css
764
- - lib/generators/spree/extension/templates/config/locales/en.yml
765
- - lib/generators/spree/extension/templates/config/routes.rb
766
- - lib/generators/spree/extension/templates/extension.gemspec
767
- - lib/generators/spree/extension/templates/Gemfile
768
- - lib/generators/spree/extension/templates/gitignore
769
- - lib/generators/spree/extension/templates/lib/%file_name%/engine.rb.tt
770
- - lib/generators/spree/extension/templates/lib/%file_name%.rb.tt
771
- - lib/generators/spree/extension/templates/lib/generators/%file_name%/install/install_generator.rb.tt
772
- - lib/generators/spree/extension/templates/LICENSE
773
- - lib/generators/spree/extension/templates/Rakefile
774
- - lib/generators/spree/extension/templates/README.md
775
- - lib/generators/spree/extension/templates/rspec
776
- - lib/generators/spree/extension/templates/script/rails.tt
777
- - lib/generators/spree/extension/templates/spec/spec_helper.rb.tt
778
- - lib/generators/spree/extension/templates/Versionfile
666
+ - lib/generators/spree/dummy/templates/rails/script/rails
667
+ - lib/generators/spree/install/install_generator.rb
668
+ - lib/generators/spree/install/templates/app/assets/javascripts/admin/all.js
669
+ - lib/generators/spree/install/templates/app/assets/javascripts/store/all.js
670
+ - lib/generators/spree/install/templates/app/assets/stylesheets/admin/all.css
671
+ - lib/generators/spree/install/templates/app/assets/stylesheets/store/all.css
672
+ - lib/generators/spree/install/templates/config/initializers/spree.rb
779
673
  - lib/generators/spree/sandbox/sandbox_generator.rb
780
674
  - lib/generators/spree/sandbox/templates/rails/routes.rb
781
675
  - lib/spree/core/action_callbacks.rb
@@ -953,6 +847,8 @@ files:
953
847
  - db/migrate/20111216154844_add_inc_tax_to_tax_rates.rb
954
848
  - db/migrate/20111219203242_rename_inc_price_attribute.rb
955
849
  - db/migrate/20111219205902_add_default_tax_zone.rb
850
+ - db/migrate/20120105193911_associate_shipping_methods_and_shipping_categories.rb
851
+ - db/migrate/20120105195817_add_match_rules_to_shipping_methods.rb
956
852
  - db/sample/users.rb
957
853
  - db/seeds.rb
958
854
  - vendor/assets/images/datepicker/cal.gif
@@ -1030,35 +926,23 @@ files:
1030
926
  - vendor/assets/stylesheets/jquery-ui.datepicker.css.erb
1031
927
  homepage: http://spreecommerce.com
1032
928
  licenses: []
1033
-
1034
929
  post_install_message:
1035
930
  rdoc_options: []
1036
-
1037
- require_paths:
931
+ require_paths:
1038
932
  - lib
1039
- required_ruby_version: !ruby/object:Gem::Requirement
933
+ required_ruby_version: !ruby/object:Gem::Requirement
1040
934
  none: false
1041
- requirements:
1042
- - - ">="
1043
- - !ruby/object:Gem::Version
1044
- hash: 57
1045
- segments:
1046
- - 1
1047
- - 8
1048
- - 7
935
+ requirements:
936
+ - - ! '>='
937
+ - !ruby/object:Gem::Version
1049
938
  version: 1.8.7
1050
- required_rubygems_version: !ruby/object:Gem::Requirement
939
+ required_rubygems_version: !ruby/object:Gem::Requirement
1051
940
  none: false
1052
- requirements:
1053
- - - ">"
1054
- - !ruby/object:Gem::Version
1055
- hash: 25
1056
- segments:
1057
- - 1
1058
- - 3
1059
- - 1
941
+ requirements:
942
+ - - ! '>'
943
+ - !ruby/object:Gem::Version
1060
944
  version: 1.3.1
1061
- requirements:
945
+ requirements:
1062
946
  - none
1063
947
  rubyforge_project: spree_core
1064
948
  rubygems_version: 1.8.10
@@ -1066,4 +950,3 @@ signing_key:
1066
950
  specification_version: 3
1067
951
  summary: Core e-commerce functionality for the Spree project.
1068
952
  test_files: []
1069
-