mshard 0.2.1 → 0.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 +4 -4
- data/.rubocop_todo.yml +2 -2
- data/.travis.yml +7 -0
- data/Gemfile +2 -0
- data/README.md +7 -0
- data/Rakefile +12 -0
- data/cov.sh +13 -0
- data/exe/ting +6 -0
- data/lib/mshard/mshard.rb +9 -6
- data/lib/mshard/ting.rb +18 -0
- data/lib/mshard/version.rb +1 -1
- data/mshard.gemspec +4 -1
- data/spec/lib/mshard/mshard_spec.rb +49 -13
- data/spec/spec_helper.rb +14 -0
- metadata +37 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b44c4da0d6d299586d4488c609cefe28d4f1205
|
4
|
+
data.tar.gz: c2eed8df108db6db4a29ae842d341beba815ae57
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6aa9c50498278221548a0804e39f27fe772af4cacb62fb4a3304040be1f9a0ea7af20e090fb411f18360b8c1eab02092ef7848a7701cef05b5223b75eb09382d
|
7
|
+
data.tar.gz: 8a9282fcac7dfe0d8988488831322eaee0de7abe6e32569a18e3bc24e062f35870d70764718688a8af11016442c3708468df92de732c9a14c6e78d387649d2b3
|
data/.rubocop_todo.yml
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# This configuration was generated by `rubocop --auto-gen-config`
|
2
|
-
# on 2015-
|
2
|
+
# on 2015-07-30 20:01:55 +0900 using RuboCop version 0.29.1.
|
3
3
|
# The point is for the user to remove these configuration records
|
4
4
|
# one by one as the offenses are removed from the code base.
|
5
5
|
# Note that changes in the inspected code, or installation of new
|
6
6
|
# versions of RuboCop, may require this file to be generated again.
|
7
7
|
|
8
|
-
# Offense count:
|
8
|
+
# Offense count: 3
|
9
9
|
Style/Documentation:
|
10
10
|
Enabled: false
|
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
[](http://badge.fury.io/rb/mshard)
|
2
|
+
[](https://travis-ci.org/ermaker/mshard)
|
3
|
+
[](https://gemnasium.com/ermaker/mshard)
|
4
|
+
[](https://codeclimate.com/github/ermaker/mshard)
|
5
|
+
[](http://codecov.io/github/ermaker/mshard?branch=master)
|
6
|
+
[](http://inch-ci.org/github/ermaker/mshard)
|
7
|
+
|
1
8
|
# Mshard
|
2
9
|
|
3
10
|
TODO: Write a gem description
|
data/Rakefile
CHANGED
@@ -1 +1,13 @@
|
|
1
1
|
require 'bundler/gem_tasks'
|
2
|
+
require 'rspec/core/rake_task'
|
3
|
+
require 'rubocop/rake_task'
|
4
|
+
|
5
|
+
RSpec::Core::RakeTask.new
|
6
|
+
RuboCop::RakeTask.new
|
7
|
+
|
8
|
+
task :cov do
|
9
|
+
ENV['COVERAGE'] = 'true'
|
10
|
+
Rake::Task[:spec].execute
|
11
|
+
end
|
12
|
+
|
13
|
+
task default: [:cov, :rubocop]
|
data/cov.sh
ADDED
data/exe/ting
ADDED
data/lib/mshard/mshard.rb
CHANGED
@@ -19,8 +19,8 @@ module MShard
|
|
19
19
|
begin
|
20
20
|
return yield
|
21
21
|
rescue
|
22
|
+
sleep delay
|
22
23
|
end
|
23
|
-
sleep delay
|
24
24
|
end
|
25
25
|
nil
|
26
26
|
end
|
@@ -29,12 +29,11 @@ module MShard
|
|
29
29
|
try { get(*args) }
|
30
30
|
end
|
31
31
|
|
32
|
-
def set_safe(*args)
|
32
|
+
def set_safe(*args) # rubocop:disable Style/AccessorMethodName
|
33
33
|
try { set(*args) }
|
34
34
|
end
|
35
35
|
|
36
|
-
|
37
|
-
Haml::Engine.new(<<-HAML).render(Object.new, e: e)
|
36
|
+
ERROR_TEMPLATE = <<-HAML
|
38
37
|
!!! 5
|
39
38
|
%html
|
40
39
|
%head
|
@@ -48,15 +47,19 @@ module MShard
|
|
48
47
|
%pre
|
49
48
|
&= e.backtrace.join("\\n")
|
50
49
|
HAML
|
50
|
+
|
51
|
+
def error_to_html(e)
|
52
|
+
Haml::Engine.new(ERROR_TEMPLATE).render(Object.new, e: e)
|
51
53
|
end
|
52
54
|
|
53
55
|
def set_error(e, **opt)
|
54
|
-
set_safe(
|
56
|
+
set_safe(
|
57
|
+
{
|
55
58
|
pushbullet: true,
|
56
59
|
type: 'link',
|
57
60
|
title: 'Error!',
|
58
61
|
body: "#{e.class}\nClick here",
|
59
|
-
contents: error_to_html(e)
|
62
|
+
contents: error_to_html(e)
|
60
63
|
}.merge(opt)
|
61
64
|
)
|
62
65
|
end
|
data/lib/mshard/ting.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'mshard'
|
3
|
+
|
4
|
+
module MShard
|
5
|
+
class Ting < Thor::Group
|
6
|
+
namespace :''
|
7
|
+
argument :title, default: 'Ting!', required: false
|
8
|
+
argument :body, required: false
|
9
|
+
def ting
|
10
|
+
MShard.new.set_safe(
|
11
|
+
pushbullet: true,
|
12
|
+
type: 'note',
|
13
|
+
title: title,
|
14
|
+
body: body
|
15
|
+
)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/mshard/version.rb
CHANGED
data/mshard.gemspec
CHANGED
@@ -14,16 +14,19 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
|
-
spec.
|
17
|
+
spec.bindir = 'exe'
|
18
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
20
|
spec.require_paths = ['lib']
|
20
21
|
|
21
22
|
spec.add_dependency 'httparty'
|
22
23
|
spec.add_dependency 'haml'
|
24
|
+
spec.add_dependency 'thor'
|
23
25
|
spec.add_development_dependency 'bundler', '~> 1.7'
|
24
26
|
spec.add_development_dependency 'rake', '~> 10.0'
|
25
27
|
spec.add_development_dependency 'rspec'
|
26
28
|
spec.add_development_dependency 'rubocop'
|
29
|
+
spec.add_development_dependency 'simplecov'
|
27
30
|
spec.add_development_dependency 'guard'
|
28
31
|
spec.add_development_dependency 'guard-rspec'
|
29
32
|
spec.add_development_dependency 'guard-rubocop'
|
@@ -1,19 +1,55 @@
|
|
1
|
-
require 'mshard
|
1
|
+
require 'mshard'
|
2
2
|
|
3
3
|
describe MShard::MShard do
|
4
|
-
it 'works' do
|
5
|
-
|
6
|
-
expect(subject.
|
4
|
+
it '#try works' do
|
5
|
+
expect(subject.try { :result }).to be(:result)
|
6
|
+
expect(subject.try(delay: 0.01) { fail }).to be(nil)
|
7
7
|
end
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
9
|
+
describe '#get' do
|
10
|
+
before do
|
11
|
+
expect(described_class).to receive(:get)
|
12
|
+
.with('/v2/shards/id').and_return(double(body: :done))
|
13
|
+
end
|
14
|
+
|
15
|
+
it '#get works' do
|
16
|
+
expect(subject.get(:id)).to eq(:done)
|
17
|
+
end
|
18
|
+
|
19
|
+
it '#get_safe works' do
|
20
|
+
expect(subject.get_safe(:id)).to eq(:done)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
describe '#set' do
|
25
|
+
before do
|
26
|
+
expect(described_class).to receive(:post)
|
27
|
+
.with('/v2/shards', body: :params).and_return('id' => :id)
|
28
|
+
end
|
29
|
+
|
30
|
+
it '#set works' do
|
31
|
+
expect(subject.set(:params)).to eq(:id)
|
32
|
+
end
|
33
|
+
|
34
|
+
it '#set_safe works' do
|
35
|
+
expect(subject.set_safe(:params)).to eq(:id)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
it '#set_error works' do
|
40
|
+
expect(described_class).to receive(:post).and_return('id' => :id)
|
41
|
+
e = double(inspect: :inspect, backtrace: [:a, :b])
|
42
|
+
expect(subject.set_error(e)).to eq(:id)
|
43
|
+
end
|
44
|
+
|
45
|
+
it '#error_to_html works' do
|
46
|
+
e = begin
|
47
|
+
fail
|
48
|
+
rescue => e
|
49
|
+
e
|
50
|
+
end
|
51
|
+
html = (subject.error_to_html(e))
|
52
|
+
expect(html).to include('<title>Error</title>')
|
53
|
+
expect(html).to include('<pre>RuntimeError</pre>')
|
18
54
|
end
|
19
55
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -16,6 +16,20 @@
|
|
16
16
|
# users commonly want.
|
17
17
|
#
|
18
18
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
19
|
+
|
20
|
+
if ENV['TRAVIS'] || ENV['COVERAGE']
|
21
|
+
require 'simplecov'
|
22
|
+
|
23
|
+
if ENV['TRAVIS']
|
24
|
+
require 'codecov'
|
25
|
+
SimpleCov.formatter = SimpleCov::Formatter::Codecov
|
26
|
+
end
|
27
|
+
|
28
|
+
SimpleCov.start do
|
29
|
+
add_filter '/spec/'
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
19
33
|
RSpec.configure do |config|
|
20
34
|
# rspec-expectations config goes here. You can use an alternate
|
21
35
|
# assertion/expectation library such as wrong or the stdlib/minitest
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mshard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Minwoo Lee
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: thor
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: bundler
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +108,20 @@ dependencies:
|
|
94
108
|
- - ">="
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
97
125
|
- !ruby/object:Gem::Dependency
|
98
126
|
name: guard
|
99
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -153,7 +181,8 @@ dependencies:
|
|
153
181
|
description: MShard
|
154
182
|
email:
|
155
183
|
- ermaker@gmail.com
|
156
|
-
executables:
|
184
|
+
executables:
|
185
|
+
- ting
|
157
186
|
extensions: []
|
158
187
|
extra_rdoc_files: []
|
159
188
|
files:
|
@@ -161,13 +190,17 @@ files:
|
|
161
190
|
- ".rspec"
|
162
191
|
- ".rubocop.yml"
|
163
192
|
- ".rubocop_todo.yml"
|
193
|
+
- ".travis.yml"
|
164
194
|
- Gemfile
|
165
195
|
- Guardfile
|
166
196
|
- LICENSE.txt
|
167
197
|
- README.md
|
168
198
|
- Rakefile
|
199
|
+
- cov.sh
|
200
|
+
- exe/ting
|
169
201
|
- lib/mshard.rb
|
170
202
|
- lib/mshard/mshard.rb
|
203
|
+
- lib/mshard/ting.rb
|
171
204
|
- lib/mshard/version.rb
|
172
205
|
- mshard.gemspec
|
173
206
|
- spec/lib/mshard/mshard_spec.rb
|