factory_bot_rails 1.0.0.alpha

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 (103) hide show
  1. checksums.yaml +7 -0
  2. data/Appraisals +21 -0
  3. data/CONTRIBUTING.md +39 -0
  4. data/Gemfile +20 -0
  5. data/Gemfile.lock +144 -0
  6. data/LICENSE +19 -0
  7. data/NEWS +24 -0
  8. data/README.md +94 -0
  9. data/Rakefile +24 -0
  10. data/bin/setup +16 -0
  11. data/factory_bot_rails-1.0.0.gem +0 -0
  12. data/factory_bot_rails.gemspec +20 -0
  13. data/factory_girl_rails.gemspec +20 -0
  14. data/features/fixture_replacement_config.feature +132 -0
  15. data/features/generators.feature +54 -0
  16. data/features/load_definitions.feature +85 -0
  17. data/features/step_definitions/appraisal.rb +5 -0
  18. data/features/step_definitions/rails_steps.rb +42 -0
  19. data/features/support/env.rb +21 -0
  20. data/gemfiles/rails3.2.gemfile +22 -0
  21. data/gemfiles/rails3.2.gemfile.lock +177 -0
  22. data/gemfiles/rails4.1.gemfile +23 -0
  23. data/gemfiles/rails4.1.gemfile.lock +175 -0
  24. data/gemfiles/rails4.2.gemfile +21 -0
  25. data/gemfiles/rails4.2.gemfile.lock +190 -0
  26. data/gemfiles/rails5.0.gemfile +22 -0
  27. data/gemfiles/rails5.0.gemfile.lock +153 -0
  28. data/lib/factory_bot_rails.rb +4 -0
  29. data/lib/factory_bot_rails/generator.rb +43 -0
  30. data/lib/factory_bot_rails/generators/non_rspec_generator.rb +19 -0
  31. data/lib/factory_bot_rails/generators/null_generator.rb +11 -0
  32. data/lib/factory_bot_rails/generators/rspec_generator.rb +23 -0
  33. data/lib/factory_bot_rails/railtie.rb +28 -0
  34. data/lib/generators/factory_bot.rb +15 -0
  35. data/lib/generators/factory_bot/model/model_generator.rb +99 -0
  36. data/tmp/aruba/testapp/Gemfile +50 -0
  37. data/tmp/aruba/testapp/Gemfile.lock +188 -0
  38. data/tmp/aruba/testapp/README.md +24 -0
  39. data/tmp/aruba/testapp/Rakefile +6 -0
  40. data/tmp/aruba/testapp/app/assets/config/manifest.js +3 -0
  41. data/tmp/aruba/testapp/app/assets/javascripts/application.js +16 -0
  42. data/tmp/aruba/testapp/app/assets/javascripts/cable.js +13 -0
  43. data/tmp/aruba/testapp/app/assets/stylesheets/application.css +15 -0
  44. data/tmp/aruba/testapp/app/channels/application_cable/channel.rb +4 -0
  45. data/tmp/aruba/testapp/app/channels/application_cable/connection.rb +4 -0
  46. data/tmp/aruba/testapp/app/controllers/application_controller.rb +3 -0
  47. data/tmp/aruba/testapp/app/helpers/application_helper.rb +2 -0
  48. data/tmp/aruba/testapp/app/jobs/application_job.rb +2 -0
  49. data/tmp/aruba/testapp/app/mailers/application_mailer.rb +4 -0
  50. data/tmp/aruba/testapp/app/models/application_record.rb +3 -0
  51. data/tmp/aruba/testapp/app/models/user.rb +2 -0
  52. data/tmp/aruba/testapp/app/views/layouts/application.html.erb +14 -0
  53. data/tmp/aruba/testapp/app/views/layouts/mailer.html.erb +13 -0
  54. data/tmp/aruba/testapp/app/views/layouts/mailer.text.erb +1 -0
  55. data/tmp/aruba/testapp/bin/bundle +3 -0
  56. data/tmp/aruba/testapp/bin/rails +9 -0
  57. data/tmp/aruba/testapp/bin/rake +9 -0
  58. data/tmp/aruba/testapp/bin/setup +34 -0
  59. data/tmp/aruba/testapp/bin/spring +17 -0
  60. data/tmp/aruba/testapp/bin/update +29 -0
  61. data/tmp/aruba/testapp/config.ru +5 -0
  62. data/tmp/aruba/testapp/config/application.rb +16 -0
  63. data/tmp/aruba/testapp/config/boot.rb +3 -0
  64. data/tmp/aruba/testapp/config/cable.yml +9 -0
  65. data/tmp/aruba/testapp/config/database.yml +25 -0
  66. data/tmp/aruba/testapp/config/environment.rb +5 -0
  67. data/tmp/aruba/testapp/config/environments/development.rb +54 -0
  68. data/tmp/aruba/testapp/config/environments/production.rb +86 -0
  69. data/tmp/aruba/testapp/config/environments/test.rb +42 -0
  70. data/tmp/aruba/testapp/config/initializers/application_controller_renderer.rb +6 -0
  71. data/tmp/aruba/testapp/config/initializers/assets.rb +11 -0
  72. data/tmp/aruba/testapp/config/initializers/backtrace_silencers.rb +7 -0
  73. data/tmp/aruba/testapp/config/initializers/cookies_serializer.rb +5 -0
  74. data/tmp/aruba/testapp/config/initializers/filter_parameter_logging.rb +4 -0
  75. data/tmp/aruba/testapp/config/initializers/inflections.rb +16 -0
  76. data/tmp/aruba/testapp/config/initializers/mime_types.rb +4 -0
  77. data/tmp/aruba/testapp/config/initializers/new_framework_defaults.rb +24 -0
  78. data/tmp/aruba/testapp/config/initializers/session_store.rb +3 -0
  79. data/tmp/aruba/testapp/config/initializers/wrap_parameters.rb +14 -0
  80. data/tmp/aruba/testapp/config/locales/en.yml +23 -0
  81. data/tmp/aruba/testapp/config/puma.rb +47 -0
  82. data/tmp/aruba/testapp/config/routes.rb +3 -0
  83. data/tmp/aruba/testapp/config/secrets.yml +22 -0
  84. data/tmp/aruba/testapp/config/spring.rb +6 -0
  85. data/tmp/aruba/testapp/db/development.sqlite3 +0 -0
  86. data/tmp/aruba/testapp/db/migrate/1_create_users.rb +7 -0
  87. data/tmp/aruba/testapp/db/schema.rb +19 -0
  88. data/tmp/aruba/testapp/db/seeds.rb +7 -0
  89. data/tmp/aruba/testapp/db/test.sqlite3 +0 -0
  90. data/tmp/aruba/testapp/lib/some_railtie/factories.rb +5 -0
  91. data/tmp/aruba/testapp/lib/some_railtie/railties.rb +8 -0
  92. data/tmp/aruba/testapp/log/development.log +16 -0
  93. data/tmp/aruba/testapp/log/test.log +21 -0
  94. data/tmp/aruba/testapp/public/404.html +67 -0
  95. data/tmp/aruba/testapp/public/422.html +67 -0
  96. data/tmp/aruba/testapp/public/500.html +66 -0
  97. data/tmp/aruba/testapp/public/apple-touch-icon-precomposed.png +0 -0
  98. data/tmp/aruba/testapp/public/apple-touch-icon.png +0 -0
  99. data/tmp/aruba/testapp/public/favicon.ico +0 -0
  100. data/tmp/aruba/testapp/public/robots.txt +5 -0
  101. data/tmp/aruba/testapp/test/test_helper.rb +10 -0
  102. data/tmp/aruba/testapp/test/unit/user_test.rb +8 -0
  103. metadata +176 -0
@@ -0,0 +1,4 @@
1
+ require 'factory_bot_rails/railtie'
2
+
3
+ module FactoryBotRails
4
+ end
@@ -0,0 +1,43 @@
1
+ require 'factory_bot_rails/generators/rspec_generator'
2
+ require 'factory_bot_rails/generators/non_rspec_generator'
3
+ require 'factory_bot_rails/generators/null_generator'
4
+
5
+ module FactoryBotRails
6
+ class Generator
7
+ def initialize(config)
8
+ @generators = if config.respond_to?(:app_generators)
9
+ config.app_generators
10
+ else
11
+ config.generators
12
+ end
13
+ end
14
+
15
+ def run
16
+ generator.new(@generators).run
17
+ end
18
+
19
+ def generator
20
+ if factory_bot_disabled?
21
+ Generators::NullGenerator
22
+ else
23
+ if test_framework == :rspec
24
+ Generators::RSpecGenerator
25
+ else
26
+ Generators::NonRSpecGenerator
27
+ end
28
+ end
29
+ end
30
+
31
+ def test_framework
32
+ rails_options[:test_framework]
33
+ end
34
+
35
+ def factory_bot_disabled?
36
+ rails_options[:factory_bot] == false
37
+ end
38
+
39
+ def rails_options
40
+ @generators.options[:rails]
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,19 @@
1
+ module FactoryBotRails
2
+ module Generators
3
+ class NonRSpecGenerator
4
+ def initialize(generators)
5
+ @generators = generators
6
+ end
7
+
8
+ def run
9
+ @generators.test_framework test_framework, fixture: false, fixture_replacement: :factory_bot
10
+ end
11
+
12
+ private
13
+
14
+ def test_framework
15
+ @generators.options[:rails][:test_framework]
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ module FactoryBotRails
2
+ module Generators
3
+ class NullGenerator
4
+ def initialize(generators)
5
+ end
6
+
7
+ def run
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ module FactoryBotRails
2
+ module Generators
3
+ class RSpecGenerator
4
+ def initialize(generators)
5
+ @generators = generators
6
+ end
7
+
8
+ def run
9
+ @generators.fixture_replacement fixture_replacement_setting, dir: factory_bot_directory
10
+ end
11
+
12
+ private
13
+
14
+ def fixture_replacement_setting
15
+ @generators.options[:rails][:fixture_replacement] || :factory_bot
16
+ end
17
+
18
+ def factory_bot_directory
19
+ @generators.options.fetch(:factory_bot, {}).fetch(:dir, 'spec/factories')
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,28 @@
1
+ require 'factory_bot'
2
+ require 'factory_bot_rails/generator'
3
+ require 'rails'
4
+
5
+ module FactoryBot
6
+ class Railtie < Rails::Railtie
7
+
8
+ initializer "factory_bot.set_fixture_replacement" do
9
+ FactoryBotRails::Generator.new(config).run
10
+ end
11
+
12
+ initializer "factory_bot.set_factory_paths" do
13
+ FactoryBot.definition_file_paths = [
14
+ Rails.root.join('factories'),
15
+ Rails.root.join('test', 'factories'),
16
+ Rails.root.join('spec', 'factories')
17
+ ]
18
+ end
19
+
20
+ config.after_initialize do
21
+ FactoryBot.find_definitions
22
+
23
+ if defined?(Spring)
24
+ Spring.after_fork { FactoryBot.reload }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,15 @@
1
+ require 'rails/generators/named_base'
2
+
3
+ module FactoryBot
4
+ module Generators
5
+ class Base < Rails::Generators::NamedBase #:nodoc:
6
+ def self.source_root
7
+ @_factory_bot_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'factory_bot', generator_name, 'templates'))
8
+ end
9
+
10
+ def explicit_class_option
11
+ ", class: '#{class_name}'" unless class_name == singular_table_name.camelize
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,99 @@
1
+ require 'generators/factory_bot'
2
+ require 'factory_bot_rails'
3
+
4
+ module FactoryBot
5
+ module Generators
6
+ class ModelGenerator < Base
7
+ argument(
8
+ :attributes,
9
+ type: :array,
10
+ default: [],
11
+ banner: "field:type field:type"
12
+ )
13
+
14
+ class_option(
15
+ :dir,
16
+ type: :string,
17
+ default: "test/factories",
18
+ desc: "The directory or file root where factories belong"
19
+ )
20
+
21
+ class_option(
22
+ :suffix,
23
+ type: :string,
24
+ default: nil,
25
+ desc: "Suffix to add factory file"
26
+ )
27
+
28
+ def create_fixture_file
29
+ if File.exist?(factories_file)
30
+ insert_factory_into_existing_file
31
+ else
32
+ create_factory_file
33
+ end
34
+ end
35
+
36
+ private
37
+
38
+ def factories_file
39
+ options[:dir] + ".rb"
40
+ end
41
+
42
+ def insert_factory_into_existing_file
43
+ insert_into_file(
44
+ factories_file,
45
+ factory_definition,
46
+ after: "FactoryBot.define do\n"
47
+ )
48
+ end
49
+
50
+ def create_factory_file
51
+ file = File.join(options[:dir], "#{filename}.rb")
52
+ create_file(file, single_file_factory_definition)
53
+ end
54
+
55
+ def factory_definition
56
+ <<-RUBY
57
+ factory :#{singular_table_name}#{explicit_class_option} do
58
+ #{factory_attributes.gsub(/^/, " ")}
59
+ end
60
+ RUBY
61
+ end
62
+
63
+ def single_file_factory_definition
64
+ <<-RUBY
65
+ FactoryBot.define do
66
+ #{factory_definition.chomp}
67
+ end
68
+ RUBY
69
+ end
70
+
71
+ def factory_attributes
72
+ attributes.map do |attribute|
73
+ "#{attribute.name} #{attribute.default.inspect}"
74
+ end.join("\n")
75
+ end
76
+
77
+ def filename
78
+ if factory_bot_options[:filename_proc].present?
79
+ factory_bot_options[:filename_proc].call(table_name)
80
+ else
81
+ [table_name, filename_suffix].compact.join('_')
82
+ end
83
+ end
84
+
85
+ def filename_suffix
86
+ factory_bot_options[:suffix] || options[:suffix]
87
+ end
88
+
89
+ def factory_bot_options
90
+ generators.options[:factory_bot] || {}
91
+ end
92
+
93
+ def generators
94
+ config = FactoryBot::Railtie.config
95
+ config.respond_to?(:app_generators) ? config.app_generators : config.generators
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,50 @@
1
+ source 'https://rubygems.org'
2
+
3
+
4
+ # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
5
+ gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
6
+ # Use sqlite3 as the database for Active Record
7
+ gem 'sqlite3'
8
+ # Use Puma as the app server
9
+ gem 'puma', '~> 3.0'
10
+ # Use SCSS for stylesheets
11
+ gem 'sass-rails', '~> 5.0'
12
+ # Use Uglifier as compressor for JavaScript assets
13
+ gem 'uglifier', '>= 1.3.0'
14
+ # Use CoffeeScript for .coffee assets and views
15
+ gem 'coffee-rails', '~> 4.2'
16
+ # See https://github.com/rails/execjs#readme for more supported runtimes
17
+ # gem 'therubyracer', platforms: :ruby
18
+
19
+ # Use jquery as the JavaScript library
20
+ gem 'jquery-rails'
21
+ # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
22
+ gem 'turbolinks', '~> 5'
23
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
24
+ gem 'jbuilder', '~> 2.5'
25
+ # Use Redis adapter to run Action Cable in production
26
+ # gem 'redis', '~> 3.0'
27
+ # Use ActiveModel has_secure_password
28
+ # gem 'bcrypt', '~> 3.1.7'
29
+
30
+ # Use Capistrano for deployment
31
+ # gem 'capistrano-rails', group: :development
32
+
33
+ group :development, :test do
34
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
35
+ gem 'byebug', platform: :mri
36
+ end
37
+
38
+ group :development do
39
+ # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
40
+ gem 'web-console'
41
+ gem 'listen', '~> 3.0.5'
42
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
43
+ gem 'spring'
44
+ gem 'spring-watcher-listen', '~> 2.0.0'
45
+ end
46
+
47
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
48
+ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
49
+ gem "factory_bot_rails", :path => "/Users/avibot/thoughtbot/factory_bot_rails"
50
+ gem "test-unit"
@@ -0,0 +1,188 @@
1
+ PATH
2
+ remote: /Users/avibot/thoughtbot/factory_bot_rails
3
+ specs:
4
+ factory_bot_rails (1.0.0)
5
+ factory_bot (~> 1.0.0)
6
+ railties (>= 3.0.0)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ actioncable (5.0.1)
12
+ actionpack (= 5.0.1)
13
+ nio4r (~> 1.2)
14
+ websocket-driver (~> 0.6.1)
15
+ actionmailer (5.0.1)
16
+ actionpack (= 5.0.1)
17
+ actionview (= 5.0.1)
18
+ activejob (= 5.0.1)
19
+ mail (~> 2.5, >= 2.5.4)
20
+ rails-dom-testing (~> 2.0)
21
+ actionpack (5.0.1)
22
+ actionview (= 5.0.1)
23
+ activesupport (= 5.0.1)
24
+ rack (~> 2.0)
25
+ rack-test (~> 0.6.3)
26
+ rails-dom-testing (~> 2.0)
27
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
28
+ actionview (5.0.1)
29
+ activesupport (= 5.0.1)
30
+ builder (~> 3.1)
31
+ erubis (~> 2.7.0)
32
+ rails-dom-testing (~> 2.0)
33
+ rails-html-sanitizer (~> 1.0, >= 1.0.2)
34
+ activejob (5.0.1)
35
+ activesupport (= 5.0.1)
36
+ globalid (>= 0.3.6)
37
+ activemodel (5.0.1)
38
+ activesupport (= 5.0.1)
39
+ activerecord (5.0.1)
40
+ activemodel (= 5.0.1)
41
+ activesupport (= 5.0.1)
42
+ arel (~> 7.0)
43
+ activesupport (5.0.1)
44
+ concurrent-ruby (~> 1.0, >= 1.0.2)
45
+ i18n (~> 0.7)
46
+ minitest (~> 5.1)
47
+ tzinfo (~> 1.1)
48
+ arel (7.1.4)
49
+ builder (3.2.3)
50
+ byebug (9.0.6)
51
+ coffee-rails (4.2.1)
52
+ coffee-script (>= 2.2.0)
53
+ railties (>= 4.0.0, < 5.2.x)
54
+ coffee-script (2.4.1)
55
+ coffee-script-source
56
+ execjs
57
+ coffee-script-source (1.12.2)
58
+ concurrent-ruby (1.0.4)
59
+ debug_inspector (0.0.2)
60
+ erubis (2.7.0)
61
+ execjs (2.7.0)
62
+ factory_bot (1.0.0)
63
+ activesupport (>= 3.0.0)
64
+ ffi (1.9.17)
65
+ globalid (0.3.7)
66
+ activesupport (>= 4.1.0)
67
+ i18n (0.7.0)
68
+ jbuilder (2.6.1)
69
+ activesupport (>= 3.0.0, < 5.1)
70
+ multi_json (~> 1.2)
71
+ jquery-rails (4.2.2)
72
+ rails-dom-testing (>= 1, < 3)
73
+ railties (>= 4.2.0)
74
+ thor (>= 0.14, < 2.0)
75
+ listen (3.0.8)
76
+ rb-fsevent (~> 0.9, >= 0.9.4)
77
+ rb-inotify (~> 0.9, >= 0.9.7)
78
+ loofah (2.0.3)
79
+ nokogiri (>= 1.5.9)
80
+ mail (2.6.4)
81
+ mime-types (>= 1.16, < 4)
82
+ method_source (0.8.2)
83
+ mime-types (3.1)
84
+ mime-types-data (~> 3.2015)
85
+ mime-types-data (3.2016.0521)
86
+ mini_portile2 (2.1.0)
87
+ minitest (5.10.1)
88
+ multi_json (1.12.1)
89
+ nio4r (1.2.1)
90
+ nokogiri (1.7.0.1)
91
+ mini_portile2 (~> 2.1.0)
92
+ power_assert (0.4.1)
93
+ puma (3.6.2)
94
+ rack (2.0.1)
95
+ rack-test (0.6.3)
96
+ rack (>= 1.0)
97
+ rails (5.0.1)
98
+ actioncable (= 5.0.1)
99
+ actionmailer (= 5.0.1)
100
+ actionpack (= 5.0.1)
101
+ actionview (= 5.0.1)
102
+ activejob (= 5.0.1)
103
+ activemodel (= 5.0.1)
104
+ activerecord (= 5.0.1)
105
+ activesupport (= 5.0.1)
106
+ bundler (>= 1.3.0, < 2.0)
107
+ railties (= 5.0.1)
108
+ sprockets-rails (>= 2.0.0)
109
+ rails-dom-testing (2.0.2)
110
+ activesupport (>= 4.2.0, < 6.0)
111
+ nokogiri (~> 1.6)
112
+ rails-html-sanitizer (1.0.3)
113
+ loofah (~> 2.0)
114
+ railties (5.0.1)
115
+ actionpack (= 5.0.1)
116
+ activesupport (= 5.0.1)
117
+ method_source
118
+ rake (>= 0.8.7)
119
+ thor (>= 0.18.1, < 2.0)
120
+ rake (12.0.0)
121
+ rb-fsevent (0.9.8)
122
+ rb-inotify (0.9.8)
123
+ ffi (>= 0.5.0)
124
+ sass (3.4.23)
125
+ sass-rails (5.0.6)
126
+ railties (>= 4.0.0, < 6)
127
+ sass (~> 3.1)
128
+ sprockets (>= 2.8, < 4.0)
129
+ sprockets-rails (>= 2.0, < 4.0)
130
+ tilt (>= 1.1, < 3)
131
+ spring (2.0.1)
132
+ activesupport (>= 4.2)
133
+ spring-watcher-listen (2.0.1)
134
+ listen (>= 2.7, < 4.0)
135
+ spring (>= 1.2, < 3.0)
136
+ sprockets (3.7.1)
137
+ concurrent-ruby (~> 1.0)
138
+ rack (> 1, < 3)
139
+ sprockets-rails (3.2.0)
140
+ actionpack (>= 4.0)
141
+ activesupport (>= 4.0)
142
+ sprockets (>= 3.0.0)
143
+ sqlite3 (1.3.13)
144
+ test-unit (3.2.3)
145
+ power_assert
146
+ thor (0.19.4)
147
+ thread_safe (0.3.5)
148
+ tilt (2.0.6)
149
+ turbolinks (5.0.1)
150
+ turbolinks-source (~> 5)
151
+ turbolinks-source (5.0.0)
152
+ tzinfo (1.2.2)
153
+ thread_safe (~> 0.1)
154
+ uglifier (3.0.4)
155
+ execjs (>= 0.3.0, < 3)
156
+ web-console (3.4.0)
157
+ actionview (>= 5.0)
158
+ activemodel (>= 5.0)
159
+ debug_inspector
160
+ railties (>= 5.0)
161
+ websocket-driver (0.6.5)
162
+ websocket-extensions (>= 0.1.0)
163
+ websocket-extensions (0.1.2)
164
+
165
+ PLATFORMS
166
+ ruby
167
+
168
+ DEPENDENCIES
169
+ byebug
170
+ coffee-rails (~> 4.2)
171
+ factory_bot_rails!
172
+ jbuilder (~> 2.5)
173
+ jquery-rails
174
+ listen (~> 3.0.5)
175
+ puma (~> 3.0)
176
+ rails (~> 5.0.0, >= 5.0.0.1)
177
+ sass-rails (~> 5.0)
178
+ spring
179
+ spring-watcher-listen (~> 2.0.0)
180
+ sqlite3
181
+ test-unit
182
+ turbolinks (~> 5)
183
+ tzinfo-data
184
+ uglifier (>= 1.3.0)
185
+ web-console
186
+
187
+ BUNDLED WITH
188
+ 1.13.7