wordless 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.mdown +4 -2
- data/lib/wordless/version.rb +1 -1
- data/lib/wordless/wordless_cli.rb +77 -18
- data/spec/cli_spec.rb +94 -99
- data/spec/spec_helper.rb +22 -24
- data/spec/support/capture.rb +18 -0
- data/spec/wordless/wordless_cli_spec.rb +54 -0
- data/wordless.gemspec +1 -0
- metadata +8 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f22b77e330965f615984ee5c3be29046326bf6e
|
4
|
+
data.tar.gz: ab9e5f45f3cebe1001c0bea379908643b9c89a00
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7adeb159e0616070e27504d02f16cc7c3922c437bfa5fb26e84adc2859b07326fc4457d1107f7a500a5c7a220c5ced15fc0ce3d2a0d18a8cd8a812562f8fd758
|
7
|
+
data.tar.gz: dcde2ab35695d7766e628ac9b18c366fc37ae6da4ef32aace5e005a4e085c6e2461c989955e518f35c11f1c3235ce81bf6bacdd70b204905891c109e5903ee1d
|
data/Gemfile.lock
CHANGED
data/README.mdown
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
|
3
3
|
A command line tool to help manage your [Wordless](http://welaika.github.com/wordless/)-based WordPress sites.
|
4
4
|
|
5
|
+
[![Build Status](https://travis-ci.org/welaika/wordless_gem.png?branch=master)](https://travis-ci.org/welaika/wordless_gem)
|
6
|
+
|
5
7
|
## Premise
|
6
8
|
|
7
9
|
This is a ruby-gem, so we expect you have already installed _ruby_; if it isn't
|
@@ -95,11 +97,11 @@ deploy_command: 'wordmove push -t'
|
|
95
97
|
## Caveats
|
96
98
|
|
97
99
|
- If you attempt to download a WordPress localization that's outdated, the latest English version will be downloaded instead.
|
98
|
-
-
|
100
|
+
- Not tested on Windows
|
99
101
|
|
100
102
|
## Running specs
|
101
103
|
|
102
|
-
bundle install && ./setup_tests && rspec
|
104
|
+
bundle install && ./setup_tests.sh && rspec
|
103
105
|
|
104
106
|
## Contributing
|
105
107
|
|
data/lib/wordless/version.rb
CHANGED
@@ -5,14 +5,56 @@ module Wordless
|
|
5
5
|
include WordPressTools::CLIHelper
|
6
6
|
attr_reader :options, :thor
|
7
7
|
|
8
|
+
module PATH
|
9
|
+
WORDFILE = :wordfile
|
10
|
+
WP_CONTENT = :wp_content
|
11
|
+
PLUGINS = :plugins
|
12
|
+
THEMES = :themes
|
13
|
+
end
|
14
|
+
|
15
|
+
DEFAULT_PATHS = {
|
16
|
+
PATH::WORDFILE => 'Wordfile',
|
17
|
+
PATH::WP_CONTENT => 'wp-content',
|
18
|
+
PATH::PLUGINS => 'wp-content/plugins',
|
19
|
+
PATH::THEMES => 'wp-content/themes',
|
20
|
+
}
|
21
|
+
|
22
|
+
DEFAULT_PATHS.each do |type, value|
|
23
|
+
define_method "#{type}_path" do
|
24
|
+
value
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
8
28
|
def lib_dir
|
9
29
|
@@lib_dir ||= File.expand_path(File.dirname(__FILE__))
|
10
30
|
end
|
11
31
|
|
32
|
+
def wordpress_dir(current_dir = start_dir)
|
33
|
+
@wordpress_dir ||= (
|
34
|
+
current_dir = File.expand_path(current_dir)
|
35
|
+
|
36
|
+
if File.exists? File.join(current_dir, wp_content_path)
|
37
|
+
current_dir
|
38
|
+
elsif last_dir?(current_dir)
|
39
|
+
raise StandardError, "Could not find a valid Wordpress directory"
|
40
|
+
else
|
41
|
+
wordpress_dir(upper_dir(current_dir))
|
42
|
+
end
|
43
|
+
)
|
44
|
+
end
|
45
|
+
|
46
|
+
def last_dir?(directory)
|
47
|
+
directory == "/"
|
48
|
+
end
|
49
|
+
|
50
|
+
def upper_dir(directory)
|
51
|
+
File.join(directory, '..')
|
52
|
+
end
|
53
|
+
|
12
54
|
def config
|
13
55
|
@@config ||= (
|
14
|
-
if File.exists?(
|
15
|
-
YAML::load(File.open(
|
56
|
+
if File.exists?(wordfile_path)
|
57
|
+
YAML::load(File.open(wordfile_path)).symbolize_keys
|
16
58
|
else
|
17
59
|
{}
|
18
60
|
end
|
@@ -38,35 +80,40 @@ module Wordless
|
|
38
80
|
end
|
39
81
|
|
40
82
|
def install
|
83
|
+
at_wordpress_root!
|
84
|
+
|
41
85
|
unless git_installed?
|
42
86
|
error "Git is not available. Please install git."
|
43
87
|
end
|
44
88
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
89
|
+
if File.directory?(plugins_path)
|
90
|
+
if run_command "git clone #{wordless_repo} #{wordless_plugin_path}"
|
91
|
+
success "Installed Wordless plugin."
|
92
|
+
else
|
93
|
+
error "There was an error installing the Wordless plugin."
|
94
|
+
end
|
51
95
|
else
|
52
|
-
error "
|
96
|
+
error "Directory '#{plugins_path}' not found."
|
53
97
|
end
|
54
98
|
end
|
55
99
|
|
56
100
|
def theme(name)
|
57
|
-
|
58
|
-
|
101
|
+
at_wordpress_root!
|
102
|
+
|
103
|
+
if File.directory?(themes_path)
|
59
104
|
if system "php #{File.join(lib_dir, 'theme_builder.php')} #{name}"
|
60
|
-
success "Created a new Wordless theme in '
|
105
|
+
success "Created a new Wordless theme in '#{File.join(themes_path, name)}'."
|
61
106
|
else
|
62
107
|
error "Couldn't create Wordless theme."
|
63
108
|
end
|
64
109
|
else
|
65
|
-
error "Directory '
|
110
|
+
error "Directory '#{themes_path}' not found."
|
66
111
|
end
|
67
112
|
end
|
68
113
|
|
69
114
|
def compile
|
115
|
+
at_wordpress_root!
|
116
|
+
|
70
117
|
if system "php #{File.join(lib_dir, 'compile_assets.php')}"
|
71
118
|
success "Compiled static assets."
|
72
119
|
else
|
@@ -75,7 +122,9 @@ module Wordless
|
|
75
122
|
end
|
76
123
|
|
77
124
|
def clean
|
78
|
-
|
125
|
+
at_wordpress_root!
|
126
|
+
|
127
|
+
if File.directory?(themes_path)
|
79
128
|
static_css = Array(config[:static_css] || Dir['wp-content/themes/*/assets/stylesheets/screen.css'])
|
80
129
|
static_js = Array(config[:static_js] || Dir['wp-content/themes/*/assets/javascripts/application.js'])
|
81
130
|
|
@@ -85,14 +134,12 @@ module Wordless
|
|
85
134
|
|
86
135
|
success "Cleaned static assets."
|
87
136
|
else
|
88
|
-
error "Directory '
|
137
|
+
error "Directory '#{themes_path}' not found."
|
89
138
|
end
|
90
139
|
end
|
91
140
|
|
92
141
|
def deploy
|
93
|
-
|
94
|
-
error "WordPress not found. Make sure you're at the root level of a WordPress installation."
|
95
|
-
end
|
142
|
+
at_wordpress_root!
|
96
143
|
|
97
144
|
compile if options['refresh']
|
98
145
|
|
@@ -109,6 +156,18 @@ module Wordless
|
|
109
156
|
|
110
157
|
private
|
111
158
|
|
159
|
+
def start_dir
|
160
|
+
"."
|
161
|
+
end
|
162
|
+
|
163
|
+
def at_wordpress_root!
|
164
|
+
Dir.chdir(wordpress_dir)
|
165
|
+
end
|
166
|
+
|
167
|
+
def wordless_plugin_path
|
168
|
+
File.join(plugins_path, "wordless")
|
169
|
+
end
|
170
|
+
|
112
171
|
def wordless_repo
|
113
172
|
config[:wordless_repo] || 'git://github.com/welaika/wordless.git'
|
114
173
|
end
|
data/spec/cli_spec.rb
CHANGED
@@ -34,56 +34,57 @@ describe Wordless::CLI do
|
|
34
34
|
end
|
35
35
|
end
|
36
36
|
|
37
|
+
context "without a valid WordPress install" do
|
38
|
+
before do
|
39
|
+
FileUtils.mkdir_p('wordpress/wp-content') && Dir.chdir('wordpress')
|
40
|
+
end
|
41
|
+
|
42
|
+
it "fails to install the Wordless plugin" do
|
43
|
+
content = capture(:stdout) { Wordless::CLI.start ['install'] }
|
44
|
+
content.should =~ %r|Directory 'wp-content/plugins' not found|
|
45
|
+
end
|
46
|
+
|
47
|
+
it "fails to create a Wordless theme" do
|
48
|
+
content = capture(:stdout) { Wordless::CLI.start ['theme', 'mytheme'] }
|
49
|
+
content.should =~ %r|Directory 'wp-content/themes' not found|
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
37
53
|
context "#install" do
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
Dir.chdir 'wordpress'
|
42
|
-
Wordless::CLI.start ['install']
|
43
|
-
File.directory?('wp-content/plugins/wordless').should be_true
|
44
|
-
end
|
54
|
+
before do
|
55
|
+
WordPressTools::CLI.start ['new']
|
56
|
+
Dir.chdir 'wordpress'
|
45
57
|
end
|
46
58
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
content.should =~ %r|Directory 'wp-content/plugins' not found|
|
51
|
-
end
|
59
|
+
it "installs the Wordless plugin" do
|
60
|
+
Wordless::CLI.start ['install']
|
61
|
+
File.directory?('wp-content/plugins/wordless').should be_true
|
52
62
|
end
|
53
63
|
end
|
54
64
|
|
55
65
|
context "#theme" do
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
Wordless::CLI.start ['install']
|
61
|
-
end
|
62
|
-
|
63
|
-
it "creates a Wordless theme" do
|
64
|
-
Wordless::CLI.start ['theme', 'mytheme']
|
65
|
-
File.directory?('wp-content/themes/mytheme').should be_true
|
66
|
-
File.exists?('wp-content/themes/mytheme/index.php').should be_true
|
67
|
-
end
|
66
|
+
before do
|
67
|
+
WordPressTools::CLI.start ['new']
|
68
|
+
Dir.chdir 'wordpress'
|
69
|
+
Wordless::CLI.start ['install']
|
68
70
|
end
|
69
71
|
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
end
|
72
|
+
it "creates a Wordless theme" do
|
73
|
+
Wordless::CLI.start ['theme', 'mytheme']
|
74
|
+
File.directory?('wp-content/themes/mytheme').should be_true
|
75
|
+
File.exists?('wp-content/themes/mytheme/index.php').should be_true
|
75
76
|
end
|
76
77
|
end
|
77
78
|
|
78
|
-
context "
|
79
|
-
|
79
|
+
context "with a working Wordless install" do
|
80
|
+
before do
|
81
|
+
Wordless::CLI.start ['new', 'myapp']
|
82
|
+
end
|
83
|
+
|
84
|
+
context "#compile" do
|
80
85
|
let(:compiled_css) { 'wp-content/themes/myapp/assets/stylesheets/screen.css' }
|
81
86
|
let(:compiled_js) { 'wp-content/themes/myapp/assets/javascripts/application.js' }
|
82
87
|
|
83
|
-
before :each do
|
84
|
-
Wordless::CLI.start ['new', 'myapp']
|
85
|
-
end
|
86
|
-
|
87
88
|
it "compiles static assets" do
|
88
89
|
Wordless::CLI.start ['compile']
|
89
90
|
|
@@ -94,90 +95,84 @@ describe Wordless::CLI do
|
|
94
95
|
File.readlines(compiled_js).grep(/return "Yep, it works!";/).should_not be_empty
|
95
96
|
end
|
96
97
|
end
|
97
|
-
end
|
98
98
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
end
|
99
|
+
context "#clean" do
|
100
|
+
before do
|
101
|
+
FileUtils.mkdir_p('wp-content/themes/myapp/assets/stylesheets')
|
102
|
+
FileUtils.mkdir_p('wp-content/themes/myapp/assets/javascripts')
|
103
|
+
end
|
105
104
|
|
106
|
-
|
107
|
-
|
105
|
+
let(:default_css) { 'wp-content/themes/myapp/assets/stylesheets/screen.css' }
|
106
|
+
let(:default_js) { 'wp-content/themes/myapp/assets/javascripts/application.js' }
|
108
107
|
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
108
|
+
let(:first_css) { 'wp-content/themes/myapp/assets/stylesheets/foo.css' }
|
109
|
+
let(:second_css) { 'wp-content/themes/myapp/assets/stylesheets/bar.css' }
|
110
|
+
let(:first_js) { 'wp-content/themes/myapp/assets/javascripts/robin.js' }
|
111
|
+
let(:second_js) { 'wp-content/themes/myapp/assets/javascripts/galahad.js' }
|
113
112
|
|
114
|
-
|
115
|
-
|
116
|
-
|
113
|
+
it "should remove default default assets" do
|
114
|
+
FileUtils.touch(default_css)
|
115
|
+
FileUtils.touch(default_js)
|
117
116
|
|
118
|
-
|
117
|
+
Wordless::CLI.start ['clean']
|
119
118
|
|
120
|
-
|
121
|
-
|
122
|
-
|
119
|
+
File.exists?(default_css).should be_false
|
120
|
+
File.exists?(default_js).should be_false
|
121
|
+
end
|
123
122
|
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
123
|
+
it "should remove assets specified on config" do
|
124
|
+
Wordless::WordlessCLI.class_variable_set :@@config, {
|
125
|
+
:static_css => [ first_css, second_css ],
|
126
|
+
:static_js => [ first_js, second_js ]
|
127
|
+
}
|
129
128
|
|
130
|
-
|
131
|
-
|
132
|
-
|
129
|
+
[ first_css, second_css, first_js, second_js ].each do |file|
|
130
|
+
FileUtils.touch(file)
|
131
|
+
end
|
133
132
|
|
134
|
-
|
133
|
+
Wordless::CLI.start ['clean']
|
135
134
|
|
136
|
-
|
137
|
-
|
135
|
+
[ first_css, second_css, first_js, second_js ].each do |file|
|
136
|
+
File.exists?(file).should be_false
|
137
|
+
end
|
138
138
|
end
|
139
139
|
end
|
140
|
-
end
|
141
|
-
|
142
|
-
context "#deploy" do
|
143
|
-
|
144
|
-
let(:cli) { Wordless::CLI.new }
|
145
|
-
let(:file) { 'shrubbery.txt' }
|
146
|
-
let(:wordless_cli) { Wordless::WordlessCLI.new({}, Thor.new) }
|
147
140
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
141
|
+
context "#deploy" do
|
142
|
+
let(:cli) { Wordless::CLI.new }
|
143
|
+
let(:file) { 'shrubbery.txt' }
|
144
|
+
let(:wordless_cli) { Wordless::WordlessCLI.new({}, Thor.new) }
|
152
145
|
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
146
|
+
before do
|
147
|
+
cli.stub(:wordless_cli).and_return(wordless_cli)
|
148
|
+
Wordless::WordlessCLI.class_variable_set :@@config, {
|
149
|
+
:deploy_command => "touch #{file}"
|
150
|
+
}
|
151
|
+
end
|
159
152
|
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
153
|
+
it "should deploy via the deploy command" do
|
154
|
+
cli.deploy
|
155
|
+
File.exists?(file).should be_true
|
156
|
+
end
|
164
157
|
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
158
|
+
it "should compile and clean if refresh option is passed" do
|
159
|
+
wordless_cli.should_receive(:compile).and_return(true)
|
160
|
+
wordless_cli.should_receive(:clean).and_return(true)
|
161
|
+
wordless_cli.stub(:options).and_return({ 'refresh' => true })
|
169
162
|
|
170
|
-
|
171
|
-
|
163
|
+
cli.deploy
|
164
|
+
end
|
172
165
|
|
173
|
-
|
174
|
-
|
166
|
+
context "if a custom deploy is passed" do
|
167
|
+
let(:file) { 'knights.txt' }
|
175
168
|
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
169
|
+
it "should launch the custom deploy command" do
|
170
|
+
wordless_cli.stub(:options).and_return({ 'command' => "touch #{file}" })
|
171
|
+
cli.deploy
|
172
|
+
File.exists?(file).should be_true
|
173
|
+
end
|
180
174
|
end
|
181
175
|
end
|
182
176
|
end
|
177
|
+
|
183
178
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -10,35 +10,33 @@ module WordPressTools
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
|
13
|
+
module Wordless
|
14
|
+
class WordlessCLI
|
15
|
+
def error(message)
|
16
|
+
puts message
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
14
20
|
|
21
|
+
require 'support/capture'
|
22
|
+
|
23
|
+
WP_API_RESPONSE = <<-EOF
|
24
|
+
upgrade
|
25
|
+
http://wordpress.org/download/
|
26
|
+
http://wordpress.org/wordpress-3.6.zip
|
27
|
+
3.6
|
28
|
+
en_US
|
29
|
+
5.2.4
|
30
|
+
5.0
|
31
|
+
EOF
|
32
|
+
|
33
|
+
RSpec.configure do |config|
|
15
34
|
config.before(:all) do
|
16
35
|
FileUtils.mkdir('tmp') unless File.directory? 'tmp'
|
17
36
|
FakeWeb.allow_net_connect = false
|
18
|
-
|
19
|
-
upgrade
|
20
|
-
http://wordpress.org/download/
|
21
|
-
http://wordpress.org/wordpress-3.6.zip
|
22
|
-
3.6
|
23
|
-
en_US
|
24
|
-
5.2.4
|
25
|
-
5.0
|
26
|
-
eof
|
37
|
+
|
27
38
|
FakeWeb.register_uri(:get, %r|http://api.wordpress.org/core/version-check/1.5/.*|, :body => WP_API_RESPONSE)
|
28
39
|
FakeWeb.register_uri(:get, "http://wordpress.org/wordpress-3.6.zip", :body => File.expand_path('spec/fixtures/wordpress_stub.zip'))
|
29
40
|
end
|
30
|
-
|
31
|
-
# utility to log commands output or errors
|
32
|
-
def capture(stream)
|
33
|
-
begin
|
34
|
-
stream = stream.to_s
|
35
|
-
eval "$#{stream} = StringIO.new"
|
36
|
-
yield
|
37
|
-
result = eval("$#{stream}").string
|
38
|
-
ensure
|
39
|
-
eval("$#{stream} = #{stream.upcase}")
|
40
|
-
end
|
41
|
-
|
42
|
-
result
|
43
|
-
end
|
44
41
|
end
|
42
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module CaptureHelpers
|
2
|
+
def capture(stream)
|
3
|
+
begin
|
4
|
+
stream = stream.to_s
|
5
|
+
eval "$#{stream} = StringIO.new"
|
6
|
+
yield
|
7
|
+
result = eval("$#{stream}").string
|
8
|
+
ensure
|
9
|
+
eval("$#{stream} = #{stream.upcase}")
|
10
|
+
end
|
11
|
+
|
12
|
+
result
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
RSpec.configure do |config|
|
17
|
+
config.include CaptureHelpers
|
18
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'wordless/wordless_cli'
|
2
|
+
|
3
|
+
describe Wordless::WordlessCLI do
|
4
|
+
let(:cli) { Wordless::WordlessCLI.new }
|
5
|
+
|
6
|
+
context "#wordpress_dir" do
|
7
|
+
TMPDIR = "/tmp/wordless"
|
8
|
+
|
9
|
+
let(:wp_content) { File.join(TMPDIR, "wp-content") }
|
10
|
+
|
11
|
+
before do
|
12
|
+
@original_dir = Dir.pwd
|
13
|
+
FileUtils.mkdir(TMPDIR)
|
14
|
+
Dir.chdir(TMPDIR)
|
15
|
+
end
|
16
|
+
|
17
|
+
after do
|
18
|
+
Dir.chdir(@original_dir)
|
19
|
+
FileUtils.rm_rf(TMPDIR)
|
20
|
+
end
|
21
|
+
|
22
|
+
context "if a wordpress directory is found" do
|
23
|
+
before do
|
24
|
+
FileUtils.mkdir(wp_content)
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'returns the directory' do
|
28
|
+
expect(cli.wordpress_dir).to eq(File.expand_path("."))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
context "if no wordpress directory is found" do
|
33
|
+
it 'raises an error' do
|
34
|
+
expect { cli.wordpress_dir }.to raise_error(StandardError)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "directory traversal" do
|
39
|
+
before do
|
40
|
+
FileUtils.mkdir(wp_content)
|
41
|
+
|
42
|
+
@test_dir = File.join(TMPDIR, "test")
|
43
|
+
FileUtils.mkdir(@test_dir)
|
44
|
+
Dir.chdir(@test_dir)
|
45
|
+
end
|
46
|
+
|
47
|
+
it 'goes up through the directory tree and finds it' do
|
48
|
+
expect(cli.wordpress_dir).to eq(File.expand_path("./.."))
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
data/wordless.gemspec
CHANGED
@@ -6,6 +6,7 @@ Gem::Specification.new do |gem|
|
|
6
6
|
gem.description = %q{Command line tool to manage Wordless themes.}
|
7
7
|
gem.summary = %q{Manage Wordless themes.}
|
8
8
|
gem.homepage = "http://github.com/welaika/wordless_gem"
|
9
|
+
gem.license = "MIT"
|
9
10
|
|
10
11
|
gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
11
12
|
gem.files = `git ls-files`.split("\n")
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wordless
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Étienne Després
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-09-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -168,9 +168,12 @@ files:
|
|
168
168
|
- spec/fixtures/wordpress_stub.zip
|
169
169
|
- spec/fixtures/zipped_file.zip
|
170
170
|
- spec/spec_helper.rb
|
171
|
+
- spec/support/capture.rb
|
172
|
+
- spec/wordless/wordless_cli_spec.rb
|
171
173
|
- wordless.gemspec
|
172
174
|
homepage: http://github.com/welaika/wordless_gem
|
173
|
-
licenses:
|
175
|
+
licenses:
|
176
|
+
- MIT
|
174
177
|
metadata: {}
|
175
178
|
post_install_message:
|
176
179
|
rdoc_options: []
|
@@ -198,3 +201,5 @@ test_files:
|
|
198
201
|
- spec/fixtures/wordpress_stub.zip
|
199
202
|
- spec/fixtures/zipped_file.zip
|
200
203
|
- spec/spec_helper.rb
|
204
|
+
- spec/support/capture.rb
|
205
|
+
- spec/wordless/wordless_cli_spec.rb
|