rusic 1.2.0 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e67035adba925d6a05bf05337ff09e64dda3293f
4
- data.tar.gz: 55fb06922d39f4cf2bbd02aaff7af47bca7696a6
3
+ metadata.gz: f70c8fd8612e0b964d55854a9efebe37ce213e41
4
+ data.tar.gz: cc3f8714e70a366827541dcb13d32bc5af0d8888
5
5
  SHA512:
6
- metadata.gz: d72164b58b68aeb4f42938d70436afd7962ca0c35e8cdc8eb6f407ff05b2bb701452072e516f45a5f249f1c565664d8dba1e25267fd932a7c82716f8473a6c8f
7
- data.tar.gz: a2efe8851ac942c3868371a0309259966c423ba7e0b069db465245cc6a107b408039208b3938003ea4f54b875055a894baffca4a3410160de8270fde28117982
6
+ metadata.gz: 07f93568fcde7178abd42d052aea34c4869de0a347a9e8a96d80904217d90dc183b49d8e9b01c4721e733b29e4fdc8e8f4ad7714d8bc1780c5316989acc2d88f
7
+ data.tar.gz: f98a7df8e9a09018d83cdf485d54422f38aa5779d1c2485f8aec1bf69682014aafcfc144878c5111588cb78f9f8f194ff2a05792941c70593cbe373687e82735
data/README.md CHANGED
@@ -24,10 +24,11 @@ choice) and see the changes live on Rusic immediately.
24
24
  ```
25
25
  $ rusic
26
26
  Tasks:
27
- rusic help [TASK] # Describe available tasks or one specific task
28
- rusic new NAME # Create a new Rusic theme
29
- rusic deploy # Upload theme to Rusic
30
- rusic version # Display version of Rusic gem
27
+ rusic help [TASK] # Describe available tasks or one specific task
28
+ rusic new NAME # Create a new Rusic theme
29
+ rusic deploy [ENV] # Upload theme to Rusic
30
+ rusic settings # Display settings from a .rusic file
31
+ rusic version # Display version of Rusic gem
31
32
  ```
32
33
 
33
34
  ### Generate new theme
@@ -72,7 +73,7 @@ This will create a simple, bootstrapped theme
72
73
  ```shell
73
74
  $ rusic help deploy
74
75
  Usage:
75
- rusic deploy
76
+ rusic deploy [ENV]
76
77
 
77
78
  Options:
78
79
  [--api-key=API_KEY]
@@ -113,6 +114,35 @@ $ touch layouts/subdomain.html.liquid # in another process
113
114
  Saved layouts/subdomain.html.liquid
114
115
  ```
115
116
 
117
+ ### Deploy using a `.rusic` file
118
+
119
+ You can add a `rusic.yml` file to your project directory and set your environments
120
+ settings within this file. This file should be valid
121
+ [YAML](http://www.yaml.org/start.html) and looks like this -
122
+
123
+ ```yaml
124
+ #
125
+ api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
126
+ stage:
127
+ theme: 2
128
+ production:
129
+ api_key: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
130
+ theme: 1
131
+ ```
132
+
133
+ To deploy to production you need to run
134
+
135
+ ```shell
136
+ $ rusic deploy production
137
+ ```
138
+
139
+ This also works with `--watch`
140
+
141
+
142
+ ```shell
143
+ $ rusic deploy production --watch
144
+ ```
145
+
116
146
  MIT Licenced
117
147
 
118
148
  Copyright © 2011–2014, Simpleweb Ltd.
data/lib/rusic/cli.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'thor'
2
2
  require 'pathname'
3
3
  require 'filewatcher'
4
+ require 'yaml'
4
5
 
5
6
  module Rusic
6
7
  class CLI < Thor
@@ -9,30 +10,30 @@ module Rusic
9
10
  Rusic::Generators::Theme.start([name])
10
11
  end
11
12
 
12
- desc "deploy", "Upload theme to Rusic"
13
+ desc "deploy [ENV]", "Upload theme to Rusic"
13
14
  method_option :api_key, type: :string
14
15
  method_option :api_host, type: :string, default: 'api.rusic.com'
15
16
  method_option :theme, type: :string
16
17
  method_option :watch, type: :boolean
17
- def deploy
18
- path = Pathname.new('.')
18
+
19
+ def deploy(env = nil)
20
+ path = Pathname.new(Dir.pwd)
19
21
  files = []
20
22
 
21
23
  files << Dir.glob(path.join('{layouts,ideas,pages}', '*.liquid'))
22
24
  files << Dir.glob(path.join('assets', '*.*'))
23
25
 
24
26
  files.flatten!
25
-
26
- if options[:watch]
27
+ if options['watch']
27
28
  FileWatcher.new(%w[layouts/ ideas/ pages/ assets/]).watch(0.5) do |file, event|
28
29
  unless event == :delete
29
30
  deployer = Rusic::Deployer.new(file)
30
- deployer.upload_files(options)
31
+ deployer.upload_files(deploy_options_for(env))
31
32
  end
32
33
  end
33
34
  else
34
35
  deployer = Rusic::Deployer.new(files)
35
- deployer.upload_files(options)
36
+ deployer.upload_files(deploy_options_for(env))
36
37
  end
37
38
  end
38
39
 
@@ -40,5 +41,18 @@ module Rusic
40
41
  def version
41
42
  puts Rusic::VERSION
42
43
  end
44
+
45
+ private
46
+
47
+ def deploy_options_for(env)
48
+ environment_options = options_from_file
49
+ environment_options.merge!(options_from_file.fetch(env, {}))
50
+ Thor::CoreExt::HashWithIndifferentAccess.new(environment_options.merge(options))
51
+ end
52
+
53
+ def options_from_file
54
+ config_file = Dir.glob(File.join(Dir.pwd, '.rusic{,.yml,.yaml}')).first
55
+ ::YAML::load_file(config_file) || {}
56
+ end
43
57
  end
44
58
  end
@@ -16,6 +16,10 @@ module Rusic
16
16
  empty_directory(name)
17
17
  end
18
18
 
19
+ def git
20
+ copy_file('templates/gitignore', "#{name}/.gitignore")
21
+ end
22
+
19
23
  def readme
20
24
  template('templates/README.md', "#{name}/README.md", name: name)
21
25
  end
@@ -0,0 +1 @@
1
+ .rusic*
data/lib/rusic/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Rusic
2
- VERSION = "1.2.0"
2
+ VERSION = "1.3.0"
3
3
  end
data/rusic.gemspec CHANGED
@@ -6,9 +6,9 @@ require 'rusic/version'
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "rusic"
8
8
  spec.version = Rusic::VERSION
9
- spec.authors = ['Chris Mytton', 'Paul Springett']
10
- spec.email = ['self@hecticjeff.net', 'paul@simpleweb.co.uk']
11
- spec.description = 'Theme creation and deployment'
9
+ spec.authors = ['Chris Mytton', 'Paul Springett', 'Adam Butler', 'Peter Rhoades']
10
+ spec.email = ['self@hecticjeff.net', 'paul@simpleweb.co.uk', 'adam@lab.io', 'createdbypete@gmail.com']
11
+ spec.description = 'Theme creation and deployment for the Rusic platform'
12
12
  spec.summary = 'Generate and deploy themes to Rusic'
13
13
  spec.homepage = 'http://developer.rusic.com/'
14
14
  spec.license = "MIT"
@@ -18,12 +18,10 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency 'thor', '~> 0.14.6'
21
+ spec.add_runtime_dependency 'thor', '~> 0.14'
22
22
  spec.add_runtime_dependency 'rest-client', '~> 1.6'
23
23
  spec.add_runtime_dependency 'filewatcher', '~> 0.3'
24
24
  spec.add_runtime_dependency 'command_line_reporter', '~> 3.3'
25
25
 
26
- spec.add_development_dependency 'rake', '~> 0.9.0'
27
- spec.add_development_dependency 'rspec', '~> 2.6.0'
28
- spec.add_development_dependency 'rack-test', '~> 0.6'
26
+ spec.add_development_dependency 'rake'
29
27
  end
metadata CHANGED
@@ -1,15 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rusic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Mytton
8
8
  - Paul Springett
9
+ - Adam Butler
10
+ - Peter Rhoades
9
11
  autorequire:
10
12
  bindir: bin
11
13
  cert_chain: []
12
- date: 2014-04-14 00:00:00.000000000 Z
14
+ date: 2014-07-30 00:00:00.000000000 Z
13
15
  dependencies:
14
16
  - !ruby/object:Gem::Dependency
15
17
  name: thor
@@ -17,14 +19,14 @@ dependencies:
17
19
  requirements:
18
20
  - - "~>"
19
21
  - !ruby/object:Gem::Version
20
- version: 0.14.6
22
+ version: '0.14'
21
23
  type: :runtime
22
24
  prerelease: false
23
25
  version_requirements: !ruby/object:Gem::Requirement
24
26
  requirements:
25
27
  - - "~>"
26
28
  - !ruby/object:Gem::Version
27
- version: 0.14.6
29
+ version: '0.14'
28
30
  - !ruby/object:Gem::Dependency
29
31
  name: rest-client
30
32
  requirement: !ruby/object:Gem::Requirement
@@ -71,55 +73,28 @@ dependencies:
71
73
  name: rake
72
74
  requirement: !ruby/object:Gem::Requirement
73
75
  requirements:
74
- - - "~>"
75
- - !ruby/object:Gem::Version
76
- version: 0.9.0
77
- type: :development
78
- prerelease: false
79
- version_requirements: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - "~>"
82
- - !ruby/object:Gem::Version
83
- version: 0.9.0
84
- - !ruby/object:Gem::Dependency
85
- name: rspec
86
- requirement: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - "~>"
76
+ - - ">="
89
77
  - !ruby/object:Gem::Version
90
- version: 2.6.0
78
+ version: '0'
91
79
  type: :development
92
80
  prerelease: false
93
81
  version_requirements: !ruby/object:Gem::Requirement
94
82
  requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: 2.6.0
98
- - !ruby/object:Gem::Dependency
99
- name: rack-test
100
- requirement: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - "~>"
103
- - !ruby/object:Gem::Version
104
- version: '0.6'
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - "~>"
83
+ - - ">="
110
84
  - !ruby/object:Gem::Version
111
- version: '0.6'
112
- description: Theme creation and deployment
85
+ version: '0'
86
+ description: Theme creation and deployment for the Rusic platform
113
87
  email:
114
88
  - self@hecticjeff.net
115
89
  - paul@simpleweb.co.uk
90
+ - adam@lab.io
91
+ - createdbypete@gmail.com
116
92
  executables:
117
93
  - rusic
118
94
  extensions: []
119
95
  extra_rdoc_files: []
120
96
  files:
121
97
  - ".gitignore"
122
- - ".ruby-version"
123
98
  - Gemfile
124
99
  - MIT-LICENCE
125
100
  - README.md
@@ -137,6 +112,7 @@ files:
137
112
  - lib/rusic/templates/assets/glyphicons-halflings-regular.svg
138
113
  - lib/rusic/templates/assets/glyphicons-halflings-regular.ttf
139
114
  - lib/rusic/templates/assets/glyphicons-halflings-regular.woff
115
+ - lib/rusic/templates/gitignore
140
116
  - lib/rusic/templates/ideas/edit.html.liquid
141
117
  - lib/rusic/templates/ideas/index.html.liquid
142
118
  - lib/rusic/templates/ideas/new.html.liquid
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.1.1