rusic 1.0.0 → 1.1.0.beta1
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 +4 -4
- data/lib/rusic.rb +2 -0
- data/lib/rusic/cli.rb +5 -3
- data/lib/rusic/deployer.rb +8 -0
- data/lib/rusic/theme_file.rb +4 -0
- data/lib/rusic/uploaders/asset.rb +2 -23
- data/lib/rusic/uploaders/base.rb +43 -0
- data/lib/rusic/uploaders/editable_asset.rb +2 -25
- data/lib/rusic/uploaders/template.rb +2 -23
- data/lib/rusic/version.rb +1 -1
- data/rusic.gemspec +1 -0
- metadata +18 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 906bf98a81ece30e9e3c56c38dd7cfaa41e949fb
|
4
|
+
data.tar.gz: c24e9a824095e62cba7f26dcd350ec95128d3316
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5f29976443dd6b7680efbb28a60f3c5d40369f10545f4aff603bbd6b99f2feb5fd6f6b4837d7a164787688c4847488bd2172f92fb2dfd8c092bdf9b7552db9f7
|
7
|
+
data.tar.gz: e6ddcbcb09030b21625f94ab77645572e5cd5ec391899ead7251b688a4d798a82e45c23cb3ccc413775207fa27e87ccc41c97d070d68dadda3161efabe158710
|
data/lib/rusic.rb
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
require 'rusic/version'
|
2
2
|
|
3
3
|
require 'rest_client'
|
4
|
+
require 'command_line_reporter'
|
4
5
|
|
5
6
|
module Rusic
|
6
7
|
require 'rusic/cli'
|
7
8
|
require 'rusic/deployer'
|
8
9
|
require 'rusic/theme_file'
|
9
10
|
require 'rusic/generators/theme'
|
11
|
+
require 'rusic/uploaders/base'
|
10
12
|
require 'rusic/uploaders/asset'
|
11
13
|
require 'rusic/uploaders/editable_asset'
|
12
14
|
require 'rusic/uploaders/template'
|
data/lib/rusic/cli.rb
CHANGED
@@ -24,9 +24,11 @@ module Rusic
|
|
24
24
|
files.flatten!
|
25
25
|
|
26
26
|
if options[:watch]
|
27
|
-
FileWatcher.new(
|
28
|
-
|
29
|
-
|
27
|
+
FileWatcher.new(%w[layouts/ ideas/ pages/ assets/]).watch(0.5) do |file, event|
|
28
|
+
unless event == :delete
|
29
|
+
deployer = Rusic::Deployer.new(file)
|
30
|
+
deployer.upload_files(options)
|
31
|
+
end
|
30
32
|
end
|
31
33
|
else
|
32
34
|
deployer = Rusic::Deployer.new(files)
|
data/lib/rusic/deployer.rb
CHANGED
@@ -10,6 +10,14 @@ module Rusic
|
|
10
10
|
files.each do |file|
|
11
11
|
file.uploader.upload_file(options)
|
12
12
|
end
|
13
|
+
rescue RestClient::Unauthorized
|
14
|
+
puts
|
15
|
+
puts '401 Unauthorized. Ensure your API Key is set correctly.'
|
16
|
+
exit(1)
|
17
|
+
rescue RestClient::ResourceNotFound
|
18
|
+
puts
|
19
|
+
puts '404 Not Found. Ensure you are have permission to access the given theme'
|
20
|
+
exit(1)
|
13
21
|
end
|
14
22
|
end
|
15
23
|
end
|
data/lib/rusic/theme_file.rb
CHANGED
@@ -1,20 +1,8 @@
|
|
1
1
|
module Rusic
|
2
2
|
module Uploaders
|
3
|
-
class Asset
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(file)
|
7
|
-
@file = file
|
8
|
-
end
|
9
|
-
|
10
|
-
def upload_file(options = {})
|
11
|
-
@api_key = options.fetch('api_key')
|
12
|
-
@api_host = options.fetch('api_host')
|
13
|
-
@theme = options.fetch('theme')
|
14
|
-
|
3
|
+
class Asset < Base
|
4
|
+
def perform
|
15
5
|
client["themes/#{theme}/assets/#{file.filename}"].put(params)
|
16
|
-
|
17
|
-
puts "Saved assets/#{file.filename}"
|
18
6
|
end
|
19
7
|
|
20
8
|
private
|
@@ -26,15 +14,6 @@ module Rusic
|
|
26
14
|
def image
|
27
15
|
File.open(file.pathname.to_s, 'rb')
|
28
16
|
end
|
29
|
-
|
30
|
-
def client
|
31
|
-
headers = {
|
32
|
-
'X-API-Key' => api_key,
|
33
|
-
'Accept' => 'application/vnd.rusic.v1+json'
|
34
|
-
}
|
35
|
-
|
36
|
-
@client ||= RestClient::Resource.new("http://#{api_host}", headers: headers)
|
37
|
-
end
|
38
17
|
end
|
39
18
|
end
|
40
19
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Rusic
|
2
|
+
module Uploaders
|
3
|
+
class Base
|
4
|
+
include CommandLineReporter
|
5
|
+
|
6
|
+
attr_accessor :file, :api_key, :theme, :api_host
|
7
|
+
|
8
|
+
def initialize(file)
|
9
|
+
@file = file
|
10
|
+
end
|
11
|
+
|
12
|
+
def upload_file(options = {})
|
13
|
+
@api_key = options.fetch('api_key')
|
14
|
+
@api_host = options.fetch('api_host')
|
15
|
+
@theme = options.fetch('theme')
|
16
|
+
|
17
|
+
report(message: "Uploading #{file.descriptor}", complete: '', type: 'inline', indent_size: 2) do
|
18
|
+
begin
|
19
|
+
perform
|
20
|
+
print(' [done]'.green)
|
21
|
+
rescue RestClient::UnprocessableEntity
|
22
|
+
print(' [failed]'.red)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def perform
|
28
|
+
fail NotImplementedError, 'define a #perform method on your uploader'
|
29
|
+
end
|
30
|
+
|
31
|
+
protected
|
32
|
+
|
33
|
+
def client
|
34
|
+
headers = {
|
35
|
+
'X-API-Key' => api_key,
|
36
|
+
'Accept' => 'application/vnd.rusic.v1+json'
|
37
|
+
}
|
38
|
+
|
39
|
+
@client ||= RestClient::Resource.new("http://#{api_host}", headers: headers)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -1,27 +1,13 @@
|
|
1
1
|
module Rusic
|
2
2
|
module Uploaders
|
3
|
-
class EditableAsset
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(file)
|
7
|
-
@file = file
|
8
|
-
end
|
9
|
-
|
10
|
-
def upload_file(options = {})
|
11
|
-
@api_key = options.fetch('api_key')
|
12
|
-
@api_host = options.fetch('api_host')
|
13
|
-
@theme = options.fetch('theme')
|
14
|
-
|
3
|
+
class EditableAsset < Base
|
4
|
+
def perform
|
15
5
|
case file.extname
|
16
6
|
when '.css'
|
17
7
|
client["themes/#{theme}/stylesheets/#{file.filename}"].put(params)
|
18
|
-
|
19
8
|
when '.js'
|
20
9
|
client["themes/#{theme}/javascripts/#{file.filename}"].put(params)
|
21
|
-
|
22
10
|
end
|
23
|
-
|
24
|
-
puts "Saved assets/#{file.filename}"
|
25
11
|
end
|
26
12
|
|
27
13
|
private
|
@@ -33,15 +19,6 @@ module Rusic
|
|
33
19
|
def body
|
34
20
|
File.read(file.pathname.to_s)
|
35
21
|
end
|
36
|
-
|
37
|
-
def client
|
38
|
-
headers = {
|
39
|
-
'X-API-Key' => api_key,
|
40
|
-
'Accept' => 'application/vnd.rusic.v1+json'
|
41
|
-
}
|
42
|
-
|
43
|
-
@client ||= RestClient::Resource.new("http://#{api_host}", headers: headers)
|
44
|
-
end
|
45
22
|
end
|
46
23
|
end
|
47
24
|
end
|
@@ -1,20 +1,8 @@
|
|
1
1
|
module Rusic
|
2
2
|
module Uploaders
|
3
|
-
class Template
|
4
|
-
|
5
|
-
|
6
|
-
def initialize(file)
|
7
|
-
@file = file
|
8
|
-
end
|
9
|
-
|
10
|
-
def upload_file(options = {})
|
11
|
-
@api_key = options.fetch('api_key')
|
12
|
-
@api_host = options.fetch('api_host')
|
13
|
-
@theme = options.fetch('theme')
|
14
|
-
|
3
|
+
class Template < Base
|
4
|
+
def perform
|
15
5
|
client["themes/#{theme}/templates/#{file.dirname}/#{file.filename}"].put(params)
|
16
|
-
|
17
|
-
puts "Saved #{file.dirname}/#{file.filename}"
|
18
6
|
end
|
19
7
|
|
20
8
|
private
|
@@ -26,15 +14,6 @@ module Rusic
|
|
26
14
|
def body
|
27
15
|
File.read(file.pathname.to_s)
|
28
16
|
end
|
29
|
-
|
30
|
-
def client
|
31
|
-
headers = {
|
32
|
-
'X-API-Key' => api_key,
|
33
|
-
'Accept' => 'application/vnd.rusic.v1+json'
|
34
|
-
}
|
35
|
-
|
36
|
-
@client ||= RestClient::Resource.new("http://#{api_host}", headers: headers)
|
37
|
-
end
|
38
17
|
end
|
39
18
|
end
|
40
19
|
end
|
data/lib/rusic/version.rb
CHANGED
data/rusic.gemspec
CHANGED
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_runtime_dependency 'thor', '~> 0.14.6'
|
22
22
|
spec.add_runtime_dependency 'rest-client', '~> 1.6'
|
23
23
|
spec.add_runtime_dependency 'filewatcher', '~> 0.3'
|
24
|
+
spec.add_runtime_dependency 'command_line_reporter', '~> 3.3'
|
24
25
|
|
25
26
|
spec.add_development_dependency 'rake', '~> 0.9.0'
|
26
27
|
spec.add_development_dependency 'rspec', '~> 2.6.0'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rusic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.1.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Mytton
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0.3'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: command_line_reporter
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - "~>"
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '3.3'
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '3.3'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: rake
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -131,6 +145,7 @@ files:
|
|
131
145
|
- lib/rusic/templates/pages/about.html.liquid
|
132
146
|
- lib/rusic/theme_file.rb
|
133
147
|
- lib/rusic/uploaders/asset.rb
|
148
|
+
- lib/rusic/uploaders/base.rb
|
134
149
|
- lib/rusic/uploaders/editable_asset.rb
|
135
150
|
- lib/rusic/uploaders/template.rb
|
136
151
|
- lib/rusic/version.rb
|
@@ -150,9 +165,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
150
165
|
version: '0'
|
151
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
152
167
|
requirements:
|
153
|
-
- - "
|
168
|
+
- - ">"
|
154
169
|
- !ruby/object:Gem::Version
|
155
|
-
version:
|
170
|
+
version: 1.3.1
|
156
171
|
requirements: []
|
157
172
|
rubyforge_project:
|
158
173
|
rubygems_version: 2.2.2
|