opencode_theme 1.0.0 → 1.0.1
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/README.md +54 -15
- data/lib/opencode_theme/cli.rb +4 -4
- data/lib/opencode_theme/version.rb +1 -1
- data/spec/functional/functional_spec.rb +29 -18
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35774a3297513205a35dd5972c12259bfff66969
|
4
|
+
data.tar.gz: dcca8fa2c69c727fa6335530f4dae65384a85f22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f18f4f1d9871da2cc4381429a3412c5ab5020af66c40adbe3fff23beb1ef8fc7c700464d6521f0d51a042be4c74c9213f2276320c2a83881795aa6d8438e8cec
|
7
|
+
data.tar.gz: 902cfd164b5e3beacc5773cbbe954795c5929ffbb288c79ac7bb4e3e32ca254e9725c544a279bdc9f9423ca0edbe562b7959f668e36d8c0ea8148a9488d502d8
|
data/README.md
CHANGED
@@ -1,29 +1,68 @@
|
|
1
|
-
#
|
1
|
+
# Opencode Theme
|
2
|
+
[![RubyGems][gem_version_badge]][ruby_gems]
|
3
|
+
[![RubyGems][gem_downloads_badge]][ruby_gems]
|
2
4
|
|
3
|
-
|
5
|
+
Opencode Theme Command Line tool for developing themes in [TrayCommerce](https://github.com/tray-tecnologia).
|
6
|
+
## Dependencies
|
7
|
+
|
8
|
+
* Ruby v2.1.3 or greater
|
4
9
|
|
5
10
|
## Installation
|
6
11
|
|
7
|
-
|
12
|
+
Install Opencode Theme from RubyGems with the command:
|
13
|
+
|
14
|
+
```bash
|
15
|
+
$ gem install opencode_theme
|
16
|
+
```
|
8
17
|
|
9
|
-
|
18
|
+
or install from source with:
|
10
19
|
|
11
|
-
|
20
|
+
```bash
|
21
|
+
$ git clone https://github.com/tray-tecnologia/opencode_theme
|
22
|
+
cd opencode_theme
|
23
|
+
bundle install
|
24
|
+
bundle exec opencode -h
|
25
|
+
```
|
12
26
|
|
13
|
-
|
27
|
+
## Usage
|
14
28
|
|
15
|
-
|
29
|
+
Run:
|
16
30
|
|
17
|
-
|
31
|
+
```bash
|
32
|
+
$ opencode configure API_KEY PASSWORD THEME_ID
|
33
|
+
```
|
18
34
|
|
19
|
-
|
35
|
+
You can see more in `opencode -h`, and details here: [CLI Commands](http://dev.tray.com.br/hc/pt-br/articles/215996428-Comandos-da-GEM-OpenCode).
|
36
|
+
|
37
|
+
## Versioning
|
38
|
+
|
39
|
+
Opencode Theme follows the [Semantic Versioning](http://semver.org/) standard.
|
40
|
+
|
41
|
+
## Issues
|
20
42
|
|
21
|
-
|
43
|
+
If you have problems, see [ISSUES.md](https://github.com/tray-tecnologia/opencode_theme/blob/master/CONTRIBUTING.md) and please create a [Github Issue](https://github.com/tray-tecnologia/opencode_theme/issues).
|
22
44
|
|
23
45
|
## Contributing
|
24
46
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
47
|
+
Please see [CONTRIBUTING.md](https://github.com/tray-tecnologia/opencode_theme/blob/master/CONTRIBUTING.md) for details.
|
48
|
+
|
49
|
+
## Release
|
50
|
+
|
51
|
+
Follow this steps to release a new version of the gem:
|
52
|
+
|
53
|
+
1. Test if everything is running ok;
|
54
|
+
2. Change version of the gem on `VERSION` constant;
|
55
|
+
3. Add the release date on the `CHANGELOG`;
|
56
|
+
4. Do a commit "vX.X.X", follow the semantic version;
|
57
|
+
5. Run `$ rake release`, this will send the gem to the RubyGems;
|
58
|
+
6. Check if the gem is on the RubyGems and the tags are correct on the github;
|
59
|
+
|
60
|
+
This gem was created and is maintained by [TrayCommerce](https://github.com/tray-tecnologia).
|
61
|
+
|
62
|
+

|
63
|
+
|
64
|
+
|
65
|
+
[tray_commerce]: http://www.tray.com.br
|
66
|
+
[gem_version_badge]: http://img.shields.io/gem/v/opencode_theme.svg?style=flat
|
67
|
+
[gem_downloads_badge]: http://img.shields.io/gem/dt/opencode_theme.svg?style=flat
|
68
|
+
[ruby_gems]: http://rubygems.org/gems/opencode_theme
|
data/lib/opencode_theme/cli.rb
CHANGED
@@ -10,7 +10,7 @@ require 'launchy'
|
|
10
10
|
require 'mimemagic'
|
11
11
|
|
12
12
|
MimeMagic.add('application/json', extensions: %w(json js), parents: 'text/plain')
|
13
|
-
MimeMagic.add('application/x-pointplus', extensions: %w(scss), parents: 'text/css')
|
13
|
+
MimeMagic.add('application/x-pointplus', extensions: %w(scss styl), parents: 'text/css')
|
14
14
|
MimeMagic.add('application/vnd.ms-fontobject', extensions: %w(eot), parents: 'font/opentype')
|
15
15
|
|
16
16
|
module OpencodeTheme
|
@@ -87,7 +87,7 @@ module OpencodeTheme
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
-
desc '
|
90
|
+
desc 'new API_KEY PASSWORD THEME_NAME THEME_BASE', 'Cria um novo tema com o nome informado'
|
91
91
|
method_option :master, type: :boolean, default: false
|
92
92
|
def bootstrap(api_key = nil, password = nil, theme_name = 'default', theme_base = 'default')
|
93
93
|
OpencodeTheme.config = { api_key: api_key, password: password }
|
@@ -160,7 +160,7 @@ module OpencodeTheme
|
|
160
160
|
say('Done.', :green) unless options['quiet']
|
161
161
|
end
|
162
162
|
|
163
|
-
desc '
|
163
|
+
desc 'rm FILE', 'Remove um arquivo do tema (apenas se o tema nao estiver publicado)'
|
164
164
|
method_option :quiet, type: :boolean, default: false
|
165
165
|
def remove(*keys)
|
166
166
|
keys.each do |key|
|
@@ -329,7 +329,7 @@ module OpencodeTheme
|
|
329
329
|
def valid_name?(key)
|
330
330
|
return if temporary_file?(key)
|
331
331
|
name = key.split('/').last
|
332
|
-
if name =~ /^[0-9a-zA-Z\-_.]+\.(ttf|eot|svg|woff|css|scss|html|js|jpg|gif|png|json|TTF|EOT|SVG|WOFF|CSS|SCSS|HTML|JS|PNG|GIF|JPG|JSON)$/
|
332
|
+
if name =~ /^[0-9a-zA-Z\-_.]+\.(ttf|eot|svg|woff|css|scss|styl|html|js|jpg|gif|png|json|TTF|EOT|SVG|WOFF|CSS|SCSS|STYL|HTML|JS|PNG|GIF|JPG|JSON)$/
|
333
333
|
valid = true
|
334
334
|
else
|
335
335
|
response = {}
|
@@ -5,17 +5,28 @@ describe OpencodeTheme::Cli, :functional do
|
|
5
5
|
FILE_NAME = 'layouts/default.html'
|
6
6
|
API_KEY = '11451c354c1f95fe60f80d7672bf184a'
|
7
7
|
PASSWORD = '14ae838d9e971465af45b35803b8f0a4'
|
8
|
+
THEME_NAME = 'TA Test Theme'
|
8
9
|
|
9
10
|
before(:all) do
|
10
11
|
# clearing generated and downloaded files
|
11
12
|
FileUtils.rm_rf 'config.yml' if File.exist?('config.yml')
|
12
|
-
FileUtils.rm_rf
|
13
|
+
FileUtils.rm_rf THEME_NAME if File.exist?('default')
|
13
14
|
end
|
14
15
|
|
15
16
|
after(:all) do
|
17
|
+
# deleting created theme
|
18
|
+
FileUtils.cd THEME_NAME
|
19
|
+
config = YAML.load_file 'config.yml'
|
20
|
+
res = OpencodeTheme.theme_delete(config[:theme_id])
|
21
|
+
if res[:success]
|
22
|
+
puts " deleted theme #{config[:theme_id]}"
|
23
|
+
else
|
24
|
+
puts " THEME #{config[:theme_id]} NOT DELETED! DELETE MANUALLY!"
|
25
|
+
end
|
26
|
+
FileUtils.cd '..'
|
16
27
|
# clearing generated and downloaded files
|
17
28
|
FileUtils.rm_rf 'config.yml'
|
18
|
-
FileUtils.rm_rf
|
29
|
+
FileUtils.rm_rf THEME_NAME
|
19
30
|
end
|
20
31
|
|
21
32
|
context 'Invalid or Inexistent Configuration' do
|
@@ -68,12 +79,12 @@ describe OpencodeTheme::Cli, :functional do
|
|
68
79
|
|
69
80
|
context 'Bootstrap' do
|
70
81
|
it 'create new theme' do
|
71
|
-
output = capture(:stdout) { subject.bootstrap API_KEY, PASSWORD }
|
82
|
+
output = capture(:stdout) { subject.bootstrap API_KEY, PASSWORD, THEME_NAME }
|
72
83
|
FileUtils.cd '..'
|
73
84
|
expect(output).to include 'Configuration [OK]'
|
74
|
-
expect(output).to include
|
75
|
-
expect(output).to include
|
76
|
-
expect(output).to include
|
85
|
+
expect(output).to include "Create #{THEME_NAME} theme on store"
|
86
|
+
expect(output).to include "Saving configuration to #{THEME_NAME}"
|
87
|
+
expect(output).to include "Downloading #{THEME_NAME} assets from Opencode"
|
77
88
|
expect(output).to include "Downloaded: #{FILE_NAME}"
|
78
89
|
expect(output).to include 'Done.'
|
79
90
|
end
|
@@ -90,8 +101,8 @@ describe OpencodeTheme::Cli, :functional do
|
|
90
101
|
|
91
102
|
context 'Cleaning cache' do
|
92
103
|
it 'cleans the cache' do
|
93
|
-
expect(File.exist?
|
94
|
-
FileUtils.cd
|
104
|
+
expect(File.exist? THEME_NAME).to eq true
|
105
|
+
FileUtils.cd THEME_NAME
|
95
106
|
output = capture(:stdout) { subject.clean }
|
96
107
|
FileUtils.cd '..'
|
97
108
|
expect(output).to include 'Clean cache [OK]'
|
@@ -100,8 +111,8 @@ describe OpencodeTheme::Cli, :functional do
|
|
100
111
|
|
101
112
|
context 'Download' do
|
102
113
|
it 'downloads all files' do
|
103
|
-
expect(File.exist?
|
104
|
-
FileUtils.cd
|
114
|
+
expect(File.exist? THEME_NAME).to eq true
|
115
|
+
FileUtils.cd THEME_NAME
|
105
116
|
output = capture(:stdout) { subject.download }
|
106
117
|
FileUtils.cd '..'
|
107
118
|
expect(output).to include 'Downloaded'
|
@@ -112,8 +123,8 @@ describe OpencodeTheme::Cli, :functional do
|
|
112
123
|
end
|
113
124
|
|
114
125
|
it 'downloads a single file' do
|
115
|
-
expect(File.exist?
|
116
|
-
FileUtils.cd
|
126
|
+
expect(File.exist? THEME_NAME).to eq true
|
127
|
+
FileUtils.cd THEME_NAME
|
117
128
|
output = capture(:stdout) { subject.download FILE_NAME }
|
118
129
|
FileUtils.cd '..'
|
119
130
|
expect(output).to include "Downloaded: #{FILE_NAME}"
|
@@ -124,8 +135,8 @@ describe OpencodeTheme::Cli, :functional do
|
|
124
135
|
|
125
136
|
context 'Upload' do
|
126
137
|
it 'uploads all files' do
|
127
|
-
expect(File.exist?
|
128
|
-
FileUtils.cd
|
138
|
+
expect(File.exist? THEME_NAME).to eq true
|
139
|
+
FileUtils.cd THEME_NAME
|
129
140
|
|
130
141
|
output = capture(:stdout) { subject.upload }
|
131
142
|
FileUtils.cd '..'
|
@@ -135,8 +146,8 @@ describe OpencodeTheme::Cli, :functional do
|
|
135
146
|
end
|
136
147
|
|
137
148
|
it 'uploads a single file' do
|
138
|
-
expect(File.exist?
|
139
|
-
FileUtils.cd
|
149
|
+
expect(File.exist? THEME_NAME).to eq true
|
150
|
+
FileUtils.cd THEME_NAME
|
140
151
|
output = capture(:stdout) { subject.upload FILE_NAME }
|
141
152
|
FileUtils.cd '..'
|
142
153
|
expect(output).to include "File uploaded: #{FILE_NAME}"
|
@@ -157,14 +168,14 @@ describe OpencodeTheme::Cli, :functional do
|
|
157
168
|
let(:output) { capture(:stdout) { subject.help } }
|
158
169
|
it 'displays help about each command' do
|
159
170
|
expect(output).to include 'Commands:'
|
160
|
-
expect(output).to include '
|
171
|
+
expect(output).to include 'new API_KEY PASSWORD THEME_NAME THEME_BASE'
|
161
172
|
expect(output).to include 'clean'
|
162
173
|
expect(output).to include 'configure API_KEY PASSWORD THEME_ID'
|
163
174
|
expect(output).to include 'download FILE'
|
164
175
|
expect(output).to include 'help [COMMAND]'
|
165
176
|
expect(output).to include 'list'
|
166
177
|
expect(output).to include 'open'
|
167
|
-
expect(output).to include '
|
178
|
+
expect(output).to include 'rm FILE'
|
168
179
|
expect(output).to include 'systeminfo'
|
169
180
|
expect(output).to include 'upload FILE'
|
170
181
|
expect(output).to include 'watch'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opencode_theme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafael Takashi Tanaka
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|