arkenstone 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +7 -0
  2. data/.codeclimate.yml +19 -0
  3. data/.gitignore +10 -0
  4. data/.rspec +2 -0
  5. data/.rubocop.yml +1148 -0
  6. data/.ruby-version +1 -0
  7. data/.travis.yml +5 -0
  8. data/CODE_OF_CONDUCT.md +13 -0
  9. data/Gemfile +3 -0
  10. data/LICENSE +674 -0
  11. data/README.md +41 -0
  12. data/Rakefile +6 -0
  13. data/arkenstone.gemspec +34 -0
  14. data/bin/arkenstone +21 -0
  15. data/bin/console +7 -0
  16. data/bin/setup +7 -0
  17. data/lib/arkenstone.rb +12 -0
  18. data/lib/arkenstone/app_builder.rb +118 -0
  19. data/lib/arkenstone/generators/app_generator.rb +56 -0
  20. data/lib/arkenstone/templates/.travis.yml.erb +3 -0
  21. data/lib/arkenstone/templates/Gemfile.erb +52 -0
  22. data/lib/arkenstone/templates/README.md.erb +1 -0
  23. data/lib/arkenstone/templates/_flashes.html.erb +3 -0
  24. data/lib/arkenstone/templates/_form.html.erb +13 -0
  25. data/lib/arkenstone/templates/application.html.erb +16 -0
  26. data/lib/arkenstone/templates/application.scss +7 -0
  27. data/lib/arkenstone/templates/database.yml.erb +12 -0
  28. data/lib/arkenstone/templates/database_cleaner.rb +21 -0
  29. data/lib/arkenstone/templates/en.yml.erb +3 -0
  30. data/lib/arkenstone/templates/factories.rb +2 -0
  31. data/lib/arkenstone/templates/high_voltage.rb +4 -0
  32. data/lib/arkenstone/templates/home.html.erb +2 -0
  33. data/lib/arkenstone/templates/rails +9 -0
  34. data/lib/arkenstone/templates/rails_helper.rb +16 -0
  35. data/lib/arkenstone/templates/rake +9 -0
  36. data/lib/arkenstone/templates/simple_form.en.yml +31 -0
  37. data/lib/arkenstone/templates/simple_form.rb +165 -0
  38. data/lib/arkenstone/templates/spring +15 -0
  39. data/lib/arkenstone/templates/user.rb +3 -0
  40. data/lib/arkenstone/version.rb +5 -0
  41. data/spec/arkenstone_spec.rb +7 -0
  42. data/spec/features/new_project_spec.rb +136 -0
  43. data/spec/features/new_project_with_authentication_spec.rb +24 -0
  44. data/spec/spec_helper.rb +13 -0
  45. data/spec/support/features/new_project.rb +57 -0
  46. metadata +183 -0
@@ -0,0 +1,13 @@
1
+ Dir["./spec/support/**/*.rb"].each { |file| require file }
2
+
3
+ RSpec.configure do |config|
4
+ config.include Features
5
+
6
+ config.expect_with :rspec do |expectations|
7
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
8
+ end
9
+
10
+ config.mock_with :rspec do |mocks|
11
+ mocks.verify_partial_doubles = true
12
+ end
13
+ end
@@ -0,0 +1,57 @@
1
+ module Features
2
+ APP_NAME = "arkenstone_test"
3
+
4
+ def app_name
5
+ APP_NAME
6
+ end
7
+
8
+ def run_arkenstone(args = nil)
9
+ Dir.chdir(Dir.tmpdir) do
10
+ `#{arkenstone_bin} #{args} #{project_path}`
11
+ end
12
+ end
13
+
14
+ def remove_dummy_app
15
+ FileUtils.rm_rf(project_path)
16
+ end
17
+
18
+ def project_path
19
+ File.join(Dir.tmpdir, APP_NAME)
20
+ end
21
+
22
+ def models_path
23
+ "#{project_path}/app/models"
24
+ end
25
+
26
+ def controllers_path
27
+ "#{project_path}/app/controllers"
28
+ end
29
+
30
+ def config_path
31
+ "#{project_path}/config"
32
+ end
33
+
34
+ def lib_path
35
+ "#{project_path}/lib"
36
+ end
37
+
38
+ def file_contents(file)
39
+ File.open(file, &:read)
40
+ end
41
+
42
+ def project_file_exist?(file)
43
+ Dir.chdir(project_path) do
44
+ File.exist?(file)
45
+ end
46
+ end
47
+
48
+ private
49
+
50
+ def root_path
51
+ File.expand_path("../../../../", __FILE__)
52
+ end
53
+
54
+ def arkenstone_bin
55
+ File.join(root_path, "bin", "arkenstone")
56
+ end
57
+ end
metadata ADDED
@@ -0,0 +1,183 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: arkenstone
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Nicholas Scheurich
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-02-09 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: '4.2'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 4.2.0
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '4.2'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 4.2.0
33
+ - !ruby/object:Gem::Dependency
34
+ name: bitters
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.1'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.1'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '1.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: pry
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.1'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.1'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rake
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '10.0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '10.0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rspec
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '3.4'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '3.4'
103
+ description: |
104
+ The Arkenstone is a Ruby on Rails application generator set up to use my
105
+ preferred development configuration. It is heavily influenced by thoughtbot’s
106
+ Suspenders; I simply prefer to have something that I’ve pruned from infancy
107
+ and just totally *get*, you know?
108
+ email: nick@scheurich.me
109
+ executables:
110
+ - arkenstone
111
+ extensions: []
112
+ extra_rdoc_files: []
113
+ files:
114
+ - ".codeclimate.yml"
115
+ - ".gitignore"
116
+ - ".rspec"
117
+ - ".rubocop.yml"
118
+ - ".ruby-version"
119
+ - ".travis.yml"
120
+ - CODE_OF_CONDUCT.md
121
+ - Gemfile
122
+ - LICENSE
123
+ - README.md
124
+ - Rakefile
125
+ - arkenstone.gemspec
126
+ - bin/arkenstone
127
+ - bin/console
128
+ - bin/setup
129
+ - lib/arkenstone.rb
130
+ - lib/arkenstone/app_builder.rb
131
+ - lib/arkenstone/generators/app_generator.rb
132
+ - lib/arkenstone/templates/.travis.yml.erb
133
+ - lib/arkenstone/templates/Gemfile.erb
134
+ - lib/arkenstone/templates/README.md.erb
135
+ - lib/arkenstone/templates/_flashes.html.erb
136
+ - lib/arkenstone/templates/_form.html.erb
137
+ - lib/arkenstone/templates/application.html.erb
138
+ - lib/arkenstone/templates/application.scss
139
+ - lib/arkenstone/templates/database.yml.erb
140
+ - lib/arkenstone/templates/database_cleaner.rb
141
+ - lib/arkenstone/templates/en.yml.erb
142
+ - lib/arkenstone/templates/factories.rb
143
+ - lib/arkenstone/templates/high_voltage.rb
144
+ - lib/arkenstone/templates/home.html.erb
145
+ - lib/arkenstone/templates/rails
146
+ - lib/arkenstone/templates/rails_helper.rb
147
+ - lib/arkenstone/templates/rake
148
+ - lib/arkenstone/templates/simple_form.en.yml
149
+ - lib/arkenstone/templates/simple_form.rb
150
+ - lib/arkenstone/templates/spring
151
+ - lib/arkenstone/templates/user.rb
152
+ - lib/arkenstone/version.rb
153
+ - spec/arkenstone_spec.rb
154
+ - spec/features/new_project_spec.rb
155
+ - spec/features/new_project_with_authentication_spec.rb
156
+ - spec/spec_helper.rb
157
+ - spec/support/features/new_project.rb
158
+ homepage: https://github.com/ngscheurich/arkenstone
159
+ licenses:
160
+ - GPL-3.0
161
+ metadata: {}
162
+ post_install_message:
163
+ rdoc_options: []
164
+ require_paths:
165
+ - lib
166
+ required_ruby_version: !ruby/object:Gem::Requirement
167
+ requirements:
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
171
+ required_rubygems_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ requirements: []
177
+ rubyforge_project:
178
+ rubygems_version: 2.5.2
179
+ signing_key:
180
+ specification_version: 4
181
+ summary: A Rails bootstrapper
182
+ test_files: []
183
+ has_rdoc: