bob-builder 0.1.0

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 (60) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +32 -0
  5. data/lib/bob/builder.rb +44 -0
  6. data/lib/bob/math.rb +7 -0
  7. data/lib/bob/meta_builder.rb +82 -0
  8. data/lib/bob/version.rb +3 -0
  9. data/lib/bob.rb +5 -0
  10. data/lib/tasks/bob_tasks.rake +4 -0
  11. data/test/dummy/README.rdoc +28 -0
  12. data/test/dummy/Rakefile +6 -0
  13. data/test/dummy/app/assets/javascripts/application.js +13 -0
  14. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  15. data/test/dummy/app/controllers/application_controller.rb +5 -0
  16. data/test/dummy/app/helpers/application_helper.rb +2 -0
  17. data/test/dummy/app/models/comment.rb +3 -0
  18. data/test/dummy/app/models/user.rb +3 -0
  19. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  20. data/test/dummy/bin/bundle +3 -0
  21. data/test/dummy/bin/rails +4 -0
  22. data/test/dummy/bin/rake +4 -0
  23. data/test/dummy/config/application.rb +25 -0
  24. data/test/dummy/config/boot.rb +5 -0
  25. data/test/dummy/config/database.yml +25 -0
  26. data/test/dummy/config/environment.rb +5 -0
  27. data/test/dummy/config/environments/development.rb +37 -0
  28. data/test/dummy/config/environments/production.rb +82 -0
  29. data/test/dummy/config/environments/test.rb +39 -0
  30. data/test/dummy/config/initializers/assets.rb +8 -0
  31. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  32. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  33. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  34. data/test/dummy/config/initializers/inflections.rb +16 -0
  35. data/test/dummy/config/initializers/mime_types.rb +4 -0
  36. data/test/dummy/config/initializers/session_store.rb +3 -0
  37. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  38. data/test/dummy/config/locales/en.yml +23 -0
  39. data/test/dummy/config/routes.rb +56 -0
  40. data/test/dummy/config/secrets.yml +22 -0
  41. data/test/dummy/config.ru +4 -0
  42. data/test/dummy/db/migrate/20150616050944_create_users.rb +10 -0
  43. data/test/dummy/db/migrate/20150616062934_create_comments.rb +9 -0
  44. data/test/dummy/db/schema.rb +34 -0
  45. data/test/dummy/db/test.sqlite3 +0 -0
  46. data/test/dummy/lib/builders/user_builder.rb +27 -0
  47. data/test/dummy/log/development.log +44 -0
  48. data/test/dummy/log/test.log +2900 -0
  49. data/test/dummy/public/404.html +67 -0
  50. data/test/dummy/public/422.html +67 -0
  51. data/test/dummy/public/500.html +66 -0
  52. data/test/dummy/public/favicon.ico +0 -0
  53. data/test/dummy/test/fixtures/comments.yml +11 -0
  54. data/test/dummy/test/fixtures/users.yml +11 -0
  55. data/test/dummy/test/models/comment_test.rb +7 -0
  56. data/test/dummy/test/models/user_test.rb +7 -0
  57. data/test/for_each_test.rb +19 -0
  58. data/test/meta_build_test.rb +40 -0
  59. data/test/test_helper.rb +15 -0
  60. metadata +180 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,11 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ # This model initially had no columns defined. If you add columns to the
4
+ # model remove the '{}' from the fixture names and add the columns immediately
5
+ # below each fixture, per the syntax in the comments below
6
+ #
7
+ one: {}
8
+ # column: value
9
+ #
10
+ two: {}
11
+ # column: value
@@ -0,0 +1,11 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ # This model initially had no columns defined. If you add columns to the
4
+ # model remove the '{}' from the fixture names and add the columns immediately
5
+ # below each fixture, per the syntax in the comments below
6
+ #
7
+ one: {}
8
+ # column: value
9
+ #
10
+ two: {}
11
+ # column: value
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class CommentTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class UserTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+
3
+ class ForEachTest < ActiveSupport::TestCase
4
+
5
+ test "creating avatar for each user" do
6
+ user = UserBuilder.forEachUser!
7
+
8
+ assert !user.avatar.blank?
9
+ assert user.persisted?
10
+ end
11
+
12
+ test "comment instantiation" do
13
+ user = UserBuilder.forEachUser!
14
+
15
+ assert_equal user.comments.count, 20
16
+ assert user.persisted?
17
+ end
18
+
19
+ end
@@ -0,0 +1,40 @@
1
+ require 'test_helper'
2
+
3
+ class MetaBuildTest < ActiveSupport::TestCase
4
+
5
+ test "building single instance" do
6
+ user = UserBuilder.user!
7
+ assert user.valid?
8
+ assert user.persisted?
9
+ end
10
+
11
+ test "building unpersisted instance" do
12
+ user = UserBuilder.user
13
+
14
+ assert user.valid?
15
+ assert !user.persisted?
16
+ end
17
+
18
+ test "building many valid instances" do
19
+ many_users = UserBuilder.user! qty: 50
20
+
21
+ assert many_users.all?(&:valid?)
22
+ assert many_users.all?(&:persisted?)
23
+ end
24
+
25
+ test "building many unpersisted instances" do
26
+ many_users = UserBuilder.user qty: 50
27
+
28
+ assert many_users.all?(&:valid?)
29
+ assert many_users.all?{|u| !u.persisted?}
30
+ end
31
+
32
+ test "passing arguments to builders" do
33
+ custom_user = UserBuilder.customUser params: {name: 'foo', email: 'bar@foobar.com'}, save: true
34
+
35
+ assert_equal custom_user.name, 'foo', msg: "Failed user name assertion"
36
+ assert_equal custom_user.email, 'bar@foobar.com', msg: "Failed user name assertion"
37
+ assert custom_user.valid?, msg: "User is not valid"
38
+ assert custom_user.persisted?, msg: "User hasn't been persisted"
39
+ end
40
+ end
@@ -0,0 +1,15 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
5
+ require "rails/test_help"
6
+
7
+ Rails.backtrace_cleaner.remove_silencers!
8
+
9
+ # Load support files
10
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
11
+
12
+ # Load fixtures from the engine
13
+ if ActiveSupport::TestCase.method_defined?(:fixture_path=)
14
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
15
+ end
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bob-builder
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Maximiliano Felice
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-06-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ruby
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.1'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '2.1'
41
+ description: Bob helps you generate a complex, robust data layer for getting you rails
42
+ application fully populated.
43
+ email:
44
+ - maximilianofelice@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - MIT-LICENSE
50
+ - README.rdoc
51
+ - Rakefile
52
+ - lib/bob.rb
53
+ - lib/bob/builder.rb
54
+ - lib/bob/math.rb
55
+ - lib/bob/meta_builder.rb
56
+ - lib/bob/version.rb
57
+ - lib/tasks/bob_tasks.rake
58
+ - test/dummy/README.rdoc
59
+ - test/dummy/Rakefile
60
+ - test/dummy/app/assets/javascripts/application.js
61
+ - test/dummy/app/assets/stylesheets/application.css
62
+ - test/dummy/app/controllers/application_controller.rb
63
+ - test/dummy/app/helpers/application_helper.rb
64
+ - test/dummy/app/models/comment.rb
65
+ - test/dummy/app/models/user.rb
66
+ - test/dummy/app/views/layouts/application.html.erb
67
+ - test/dummy/bin/bundle
68
+ - test/dummy/bin/rails
69
+ - test/dummy/bin/rake
70
+ - test/dummy/config.ru
71
+ - test/dummy/config/application.rb
72
+ - test/dummy/config/boot.rb
73
+ - test/dummy/config/database.yml
74
+ - test/dummy/config/environment.rb
75
+ - test/dummy/config/environments/development.rb
76
+ - test/dummy/config/environments/production.rb
77
+ - test/dummy/config/environments/test.rb
78
+ - test/dummy/config/initializers/assets.rb
79
+ - test/dummy/config/initializers/backtrace_silencers.rb
80
+ - test/dummy/config/initializers/cookies_serializer.rb
81
+ - test/dummy/config/initializers/filter_parameter_logging.rb
82
+ - test/dummy/config/initializers/inflections.rb
83
+ - test/dummy/config/initializers/mime_types.rb
84
+ - test/dummy/config/initializers/session_store.rb
85
+ - test/dummy/config/initializers/wrap_parameters.rb
86
+ - test/dummy/config/locales/en.yml
87
+ - test/dummy/config/routes.rb
88
+ - test/dummy/config/secrets.yml
89
+ - test/dummy/db/migrate/20150616050944_create_users.rb
90
+ - test/dummy/db/migrate/20150616062934_create_comments.rb
91
+ - test/dummy/db/schema.rb
92
+ - test/dummy/db/test.sqlite3
93
+ - test/dummy/lib/builders/user_builder.rb
94
+ - test/dummy/log/development.log
95
+ - test/dummy/log/test.log
96
+ - test/dummy/public/404.html
97
+ - test/dummy/public/422.html
98
+ - test/dummy/public/500.html
99
+ - test/dummy/public/favicon.ico
100
+ - test/dummy/test/fixtures/comments.yml
101
+ - test/dummy/test/fixtures/users.yml
102
+ - test/dummy/test/models/comment_test.rb
103
+ - test/dummy/test/models/user_test.rb
104
+ - test/for_each_test.rb
105
+ - test/meta_build_test.rb
106
+ - test/test_helper.rb
107
+ homepage: https://github.com/MaximilianoFelice/bob
108
+ licenses:
109
+ - MIT
110
+ metadata: {}
111
+ post_install_message:
112
+ rdoc_options: []
113
+ require_paths:
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubyforge_project:
127
+ rubygems_version: 2.4.6
128
+ signing_key:
129
+ specification_version: 4
130
+ summary: Bob is a Builder Rails tool for generating data.
131
+ test_files:
132
+ - test/test_helper.rb
133
+ - test/for_each_test.rb
134
+ - test/meta_build_test.rb
135
+ - test/dummy/test/models/comment_test.rb
136
+ - test/dummy/test/models/user_test.rb
137
+ - test/dummy/test/fixtures/comments.yml
138
+ - test/dummy/test/fixtures/users.yml
139
+ - test/dummy/bin/rake
140
+ - test/dummy/bin/rails
141
+ - test/dummy/bin/bundle
142
+ - test/dummy/README.rdoc
143
+ - test/dummy/Rakefile
144
+ - test/dummy/public/422.html
145
+ - test/dummy/public/favicon.ico
146
+ - test/dummy/public/404.html
147
+ - test/dummy/public/500.html
148
+ - test/dummy/log/test.log
149
+ - test/dummy/log/development.log
150
+ - test/dummy/lib/builders/user_builder.rb
151
+ - test/dummy/app/assets/stylesheets/application.css
152
+ - test/dummy/app/assets/javascripts/application.js
153
+ - test/dummy/app/controllers/application_controller.rb
154
+ - test/dummy/app/views/layouts/application.html.erb
155
+ - test/dummy/app/models/user.rb
156
+ - test/dummy/app/models/comment.rb
157
+ - test/dummy/app/helpers/application_helper.rb
158
+ - test/dummy/db/schema.rb
159
+ - test/dummy/db/migrate/20150616050944_create_users.rb
160
+ - test/dummy/db/migrate/20150616062934_create_comments.rb
161
+ - test/dummy/db/test.sqlite3
162
+ - test/dummy/config/boot.rb
163
+ - test/dummy/config/secrets.yml
164
+ - test/dummy/config/application.rb
165
+ - test/dummy/config/environment.rb
166
+ - test/dummy/config/database.yml
167
+ - test/dummy/config/routes.rb
168
+ - test/dummy/config/locales/en.yml
169
+ - test/dummy/config/environments/development.rb
170
+ - test/dummy/config/environments/production.rb
171
+ - test/dummy/config/environments/test.rb
172
+ - test/dummy/config/initializers/wrap_parameters.rb
173
+ - test/dummy/config/initializers/assets.rb
174
+ - test/dummy/config/initializers/session_store.rb
175
+ - test/dummy/config/initializers/cookies_serializer.rb
176
+ - test/dummy/config/initializers/mime_types.rb
177
+ - test/dummy/config/initializers/backtrace_silencers.rb
178
+ - test/dummy/config/initializers/filter_parameter_logging.rb
179
+ - test/dummy/config/initializers/inflections.rb
180
+ - test/dummy/config.ru