rugular 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b72e78b18b21cfe1e4ac2a4b05b03540b270f27
4
- data.tar.gz: b4fed9cde117145d9abafbc1ed8146938e256224
3
+ metadata.gz: e7099d451fdd136f5a26b0cbe6e04e64c4940322
4
+ data.tar.gz: 309bba88c6626df17d747674c598ee744a86f5ad
5
5
  SHA512:
6
- metadata.gz: 01215319deab4e9e794dd35dc47f00dcbb35db0451b87371fc4ea01ee5d17ce88a47e3275233d0614a9c1e04b77693eae93b6f0f59059d3fb82adb34e38cc27f
7
- data.tar.gz: aff35dd9b8db79d498b142b662068a4c2c7bca3eabdcf880f0283e789493af58df3706dbb2ce516f40749527158c88c640c3a6c990b6cfced6e37420e00709a6
6
+ metadata.gz: cc504f5b80f7d2efd7eed75820e68664b9be58fd72b1514d5bbe92ad26224e49957b89036303104e6fa72ccce615da02bb6c96356174d38fcded6f8ee082ed48
7
+ data.tar.gz: ab2ab46caec4137da0197f5269ed9d2b1eb0cd06bf1f84dbd30247a0179f2de0a9c2acb2c86375925c11b2a25d526e496d6a0bac570fb20a27783d91021ca78d
data/bower.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "rar",
3
+ "version": "0.0.0",
4
+ "authors": [
5
+ "Nicholas Shook <nshook@q-centrix.com>"
6
+ ],
7
+ "description": "yes",
8
+ "main": "okay.js",
9
+ "moduleType": [
10
+ "es6"
11
+ ],
12
+ "keywords": [
13
+ "yes"
14
+ ],
15
+ "license": "MIT",
16
+ "private": true,
17
+ "ignore": [
18
+ "**/.*",
19
+ "node_modules",
20
+ "bower_components",
21
+ "test",
22
+ "tests"
23
+ ]
24
+ }
@@ -0,0 +1,16 @@
1
+ @increase_wait_time
2
+ Feature: Rugular CLI
3
+ In order to abstract bower components
4
+ As a user of the rugular framework
5
+ I want to create a bower_component from any component folder
6
+
7
+ Scenario: Abstract
8
+ When I set up Rugular and run "rugular g directive test"
9
+ And I run `cd tmp/aruba/my-app && rugular abstract test` interactively
10
+ And I type 'yes'
11
+ Then the file "~/bower_components/test/bower.json" should contain:
12
+ """
13
+ "private": true,
14
+ """
15
+
16
+
@@ -5,15 +5,15 @@ Feature: Rugular CLI
5
5
 
6
6
  Scenario: Generating a route
7
7
  When I set up Rugular and run "rugular generate directive test"
8
- And the file "my-app/src/app/test/test.directive.coffee" should contain:
8
+ Then the file "my-app/src/components/test/test.directive.coffee" should contain:
9
9
  """
10
10
  angular.module('test').directive('test', test)
11
11
  """
12
- And the file "my-app/src/app/test/test.directive.spec.coffee" should contain:
12
+ And the file "my-app/src/components/test/test.directive.spec.coffee" should contain:
13
13
  """
14
14
  describe 'testController', ->
15
15
  """
16
- And the file "my-app/src/app/test/test.haml" should contain:
16
+ And the file "my-app/src/components/test/test.haml" should contain:
17
17
  """
18
18
  %h1 test
19
19
  """
@@ -21,15 +21,8 @@ Feature: Rugular CLI
21
21
  """
22
22
  'test'
23
23
  """
24
- And the file "my-app/src/app/test/test.module.coffee" should contain:
24
+ And the file "my-app/src/components/test/test.module.coffee" should contain:
25
25
  """
26
26
  angular.module 'test', [
27
27
  ]
28
28
  """
29
-
30
- Scenario: Generating a route in the components directory
31
- When I set up Rugular and run "rugular generate directive -c test"
32
- And the file "my-app/src/components/test/test.directive.coffee" should contain:
33
- """
34
- angular.module('test').directive('test', test)
35
- """
@@ -33,13 +33,6 @@ Feature: Rugular CLI
33
33
  """
34
34
  And a file named "my-app/src/app/test/_test.sass" should exist
35
35
 
36
- Scenario: Generating a route in the components directory
37
- When I set up Rugular and run "rugular generate route -c test"
38
- Then the file "my-app/src/components/test/test.controller.coffee" should contain:
39
- """
40
- angular.module('test').controller('testController', testController)
41
- """
42
-
43
36
  Scenario: Generating a multiple word route
44
37
  When I set up Rugular and run "rugular generate route credit_card"
45
38
  Then the file "my-app/src/app/credit_card/credit_card.controller.coffee" should contain:
@@ -0,0 +1,4 @@
1
+ Before do
2
+ set_env 'HOME', File.expand_path(File.join(current_dir, 'home'))
3
+ FileUtils.mkdir_p ENV['HOME']
4
+ end
@@ -0,0 +1,101 @@
1
+ module Rugular
2
+ class Abstract < Thor::Group
3
+ include Thor::Actions
4
+
5
+ argument :folder, desc: 'Component folder you want to abstract'
6
+ desc <<-DESC
7
+ The abstract command copies the contents of any folder nested one-level
8
+ beneath ``src/components`` into the ``~/bower_components`` folder where
9
+ it is treated like a bower component.
10
+
11
+ The command will ask some setup questions to generate a bower.json. It is
12
+ recommended that the bower component folders generated by rugular are NOT
13
+ edited by hand. Instead, the only updates should occur by repeated use of
14
+ the ``rugular abstract`` command.
15
+ DESC
16
+
17
+ def check_for_rugular_directory
18
+ ::Rugular::AppChecker.check_for_rugular_directory(
19
+ task_name: self.class.name,
20
+ root_directory: destination_root
21
+ )
22
+ end
23
+
24
+ def ask_for_version
25
+ @version = ask(
26
+ "the previous version is #{previous_version}, what is the version now?"
27
+ )
28
+ end
29
+
30
+ def file_copy_folder_into_bower_src_folder
31
+ directory component_directory, bower_component_directory
32
+ end
33
+
34
+ def create_bower_file
35
+ return if bower_component_bower_json?
36
+
37
+ create_file "#{bower_component_directory}/bower.json" do
38
+ ERB.new(bower_template_file).result(
39
+ bower_open_struct.instance_eval { binding }
40
+ )
41
+ end
42
+ end
43
+
44
+ private
45
+
46
+ def bower_component_bower_json?
47
+ File.exists? bower_component_directory
48
+ end
49
+
50
+ def bower_component_bower_json
51
+ JSON.parse(File.read("#{bower_component_directory}/bower.json"))
52
+ end
53
+
54
+ def previous_version
55
+ return 'not defined' unless bower_component_bower_json?
56
+
57
+ bower_component_bower_json.fetch('version', '0.0.0')
58
+ end
59
+
60
+ def bower_json
61
+ JSON.parse(File.read('bower.json'))
62
+ end
63
+
64
+ def git_username
65
+ "#{`git config user.name`.strip} <#{`git config user.email`.strip}>"
66
+ end
67
+
68
+ def bower_component_directory
69
+ "#{Dir.home}/bower_components/#{folder}"
70
+ end
71
+
72
+ def component_directory
73
+ "./src/components/#{folder}/"
74
+ end
75
+
76
+ def main_javascript_files
77
+ Dir.glob("#{component_directory}/*").map do |filename|
78
+ File.basename(filename)
79
+ end
80
+ end
81
+
82
+ def bower_open_struct
83
+ OpenStruct.new(
84
+ name: folder,
85
+ version: @version,
86
+ git_username: git_username,
87
+ description: folder,
88
+ main_javascript_files: main_javascript_files,
89
+ dev_dependencies: bower_json.fetch('devDependencies', {}),
90
+ dependencies: bower_json.fetch('dependencies', {}),
91
+ resolutions: bower_json.fetch('resolutions', {})
92
+ )
93
+ end
94
+
95
+ def bower_template_file
96
+ lib_directory = __dir__.chomp('/tasks')
97
+
98
+ File.read("#{lib_directory}/templates/abstract/bower.json")
99
+ end
100
+ end
101
+ end
@@ -40,8 +40,8 @@ module Rugular
40
40
  File.open('dist/application.js', 'w') do |file|
41
41
  file.write(
42
42
  Uglifier.compile(
43
- Rugular::JavascriptFiles.map do |file|
44
- text = File.read(file).gsub('templateUrl', 'template')
43
+ Rugular::JavascriptFiles.map do |javascript_file|
44
+ text = File.read(javascript_file).gsub('templateUrl', 'template')
45
45
  CoffeeScript.compile(text)
46
46
  end.join
47
47
  )
@@ -15,17 +15,26 @@ module Rugular
15
15
  end
16
16
 
17
17
  def bundle
18
- puts 'Installing Ruby gems'
18
+ puts <<-GEM_MESSAGE
19
+ ~~~~~~~~*\o/~~~~~/\*~~~~~~~
20
+ Installing Ruby gems
21
+ GEM_MESSAGE
19
22
  system('bundle install')
20
23
  end
21
24
 
22
25
  def bower
23
- puts 'Installing bower packages'
26
+ puts <<-BOWER_MESSAGE
27
+ ~~~~~~~~*\o/~~~~~/\*~~~~~~~
28
+ Installing bower components
29
+ BOWER_MESSAGE
24
30
  system('bower install')
25
31
  end
26
32
 
27
33
  def npm_install
28
- puts 'Installing node packages'
34
+ puts <<-NODE_MESSAGE
35
+ ~~~~~~~~*\o/~~~~~/\*~~~~~~~
36
+ Installing node packages
37
+ NODE_MESSAGE
29
38
  system('npm install')
30
39
  end
31
40
 
@@ -7,12 +7,6 @@ module Rugular
7
7
 
8
8
  argument :name, desc: 'Name for your route'
9
9
 
10
- class_option(
11
- :c,
12
- type: :boolean,
13
- desc: 'create the route in the component folder'
14
- )
15
-
16
10
  def self.source_root
17
11
  __dir__.chomp('/tasks/generate')
18
12
  end
@@ -48,6 +42,7 @@ module Rugular
48
42
  end
49
43
 
50
44
  def template_files; []; end
45
+ def app_or_component; 'components' end
51
46
 
52
47
  protected
53
48
 
@@ -62,7 +57,7 @@ module Rugular
62
57
  end
63
58
 
64
59
  def folder
65
- options[:c] ? "src/components/#{name_folder}" : "src/app/#{name_folder}"
60
+ "src/#{app_or_component}/#{name_folder}"
66
61
  end
67
62
 
68
63
  def destination_file(pathname)
@@ -105,9 +100,5 @@ module Rugular
105
100
  "src/#{app_or_component}/#{name.split(':')[0..-2].join('/')}/"\
106
101
  "#{nested_module_name}.module.coffee"
107
102
  end
108
-
109
- def app_or_component
110
- options[:c] ? 'components' : 'app'
111
- end
112
103
  end
113
104
  end
@@ -7,5 +7,8 @@ module Rugular
7
7
  Dir.glob("#{lib_directory}/templates/route/*.erb")
8
8
  end
9
9
 
10
+ def app_or_component
11
+ 'app'
12
+ end
10
13
  end
11
14
  end
@@ -29,7 +29,6 @@ module Rugular
29
29
  )
30
30
  end
31
31
 
32
-
33
32
  register(
34
33
  Rugular::Route,
35
34
  'route',
@@ -1,18 +1,17 @@
1
1
  module Rugular
2
2
  class JavascriptFiles
3
3
  def self.ordered_array
4
- Dir.glob("src/components/**/*.module.coffee") +
5
- Dir.glob("src/components/**/*.factory.coffee") +
6
- Dir.glob("src/components/**/*.filter.coffee") +
7
- Dir.glob("src/components/**/*.controller.coffee") +
8
- Dir.glob("src/components/**/*.directive.coffee") +
9
- Dir.glob("src/components/**/*.routes.coffee") +
10
- Dir.glob("src/app/**/*.module.coffee") +
11
- Dir.glob("src/app/**/*.factory.coffee") +
12
- Dir.glob("src/app/**/*.filter.coffee") +
13
- Dir.glob("src/app/**/*.controller.coffee") +
14
- Dir.glob("src/app/**/*.directive.coffee") +
15
- Dir.glob("src/app/**/*.routes.coffee")
4
+ Dir.glob('src/components/**/*.module.coffee') +
5
+ Dir.glob('src/components/**/*.constant.coffee') +
6
+ Dir.glob('src/components/**/*.factory.coffee') +
7
+ Dir.glob('src/components/**/*.filter.coffee') +
8
+ Dir.glob('src/components/**/*.controller.coffee') +
9
+ Dir.glob('src/components/**/*.directive.coffee') +
10
+ Dir.glob('src/app/**/*.module.coffee') +
11
+ Dir.glob('src/app/**/*.config.coffee')
12
+ Dir.glob('src/app/**/*.constant.coffee') +
13
+ Dir.glob('src/app/**/*.controller.coffee') +
14
+ Dir.glob('src/app/**/*.routes.coffee')
16
15
  end
17
16
  end
18
17
  end
@@ -42,8 +42,14 @@ module Rugular
42
42
  end
43
43
 
44
44
  def installation_complete
45
- puts 'Thank you for installing Rugular, please finish setting up your '\
46
- "project with: `cd #{app_open_struct.name} && rugular dependencies`\n"
45
+ puts <<-POST_INSTALL_MESSAGE
46
+ ♪┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓♪
47
+
48
+ Thank you for installing Rugular, please finish setting up your
49
+ project with: `cd #{app_open_struct.name} && rugular dependencies`
50
+
51
+ ♪┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓┏(°.°)┛┗(°.°)┓┗(°.°)┛┏(°.°)┓♪
52
+ POST_INSTALL_MESSAGE
47
53
  end
48
54
 
49
55
  private
@@ -18,13 +18,6 @@ module Rugular
18
18
  "(set in lib/rugular/tasks/server/Procfile)"
19
19
  )
20
20
 
21
- def add_template_application_sass_file
22
- FileUtils.cp(
23
- "#{lib_directory}/templates/server/application.sass",
24
- "#{destination_root}/.application.sass"
25
- )
26
- end
27
-
28
21
  def start_server
29
22
  system(
30
23
  "bundle exec foreman start --color --root=#{destination_root} " \
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "<%= name %>",
3
+ "version": "<%= version %>",
4
+ "authors": [
5
+ "<%= git_username %>"
6
+ ],
7
+ "description": "<%= description %>",
8
+ "main": "<%= main_javascript_files %>",
9
+ "moduleType": [
10
+ "es6"
11
+ ],
12
+ "keywords": [
13
+ "yes"
14
+ ],
15
+ "license": "Copyright by the authors of the commits on the master branch of this application.",
16
+ "private": true,
17
+ "ignore": [
18
+ "**/.*",
19
+ "node_modules",
20
+ "bower_components",
21
+ "test",
22
+ "tests"
23
+ ],
24
+ "devDependencies": <%= dev_dependencies %>,
25
+ "dependencies": <%= dependencies %>,
26
+ "resolutions": <%= resolutions %>
27
+ }
@@ -1 +1,3 @@
1
- // Add styles for your module here
1
+ // Add base styles for your application here including colors and columns
2
+
3
+ @
@@ -1,3 +1,3 @@
1
1
  module Rugular
2
- VERSION = '0.6.7'
2
+ VERSION = '0.6.8'
3
3
  end
data/lib/rugular.rb CHANGED
@@ -46,5 +46,12 @@ module Rugular
46
46
  'tmux',
47
47
  'start a rugular tmux session'
48
48
  )
49
+
50
+ register(
51
+ Abstract,
52
+ 'abstract',
53
+ 'abstract',
54
+ 'abstract a bower component to the "~/bower_components" directory'
55
+ )
49
56
  end
50
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rugular
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Shook
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-22 00:00:00.000000000 Z
11
+ date: 2015-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: actionview
@@ -292,14 +292,18 @@ files:
292
292
  - README.md
293
293
  - Rakefile
294
294
  - bin/rugular
295
+ - bower.json
295
296
  - circle.yml
297
+ - features/abstract.feature
296
298
  - features/continuous_integration.feature
297
299
  - features/generator_for_directive.feature
298
300
  - features/generator_for_route.feature
299
301
  - features/new.feature
300
302
  - features/step_definitions/rugular_steps.rb
303
+ - features/support/env.rb
301
304
  - features/support/setup.rb
302
305
  - lib/rugular.rb
306
+ - lib/rugular/tasks/abstract.rb
303
307
  - lib/rugular/tasks/build.rb
304
308
  - lib/rugular/tasks/continuous_integration.rb
305
309
  - lib/rugular/tasks/dependencies.rb
@@ -325,6 +329,7 @@ files:
325
329
  - lib/rugular/tasks/server/guards/rugular_index_html.rb
326
330
  - lib/rugular/tasks/tmux.rb
327
331
  - lib/rugular/tasks/tmux/tmuxinator.yml
332
+ - lib/rugular/templates/abstract/bower.json.erb
328
333
  - lib/rugular/templates/directive/_app.sass.erb
329
334
  - lib/rugular/templates/directive/app.controller.coffee.erb
330
335
  - lib/rugular/templates/directive/app.directive.coffee.erb
@@ -390,9 +395,11 @@ signing_key:
390
395
  specification_version: 4
391
396
  summary: Rugular - a ruby scaffolding framework for AngularJS
392
397
  test_files:
398
+ - features/abstract.feature
393
399
  - features/continuous_integration.feature
394
400
  - features/generator_for_directive.feature
395
401
  - features/generator_for_route.feature
396
402
  - features/new.feature
397
403
  - features/step_definitions/rugular_steps.rb
404
+ - features/support/env.rb
398
405
  - features/support/setup.rb