gsm-sources-manager 1.0.0.alpha5 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ccc3b487679f3aa817377e5c36183b3b3797eca
4
- data.tar.gz: 0ab9c6affe4e7ad552a9aff5d8269b80bf759d79
3
+ metadata.gz: c2adaa925c51a510eaff87ef243916fada3baac1
4
+ data.tar.gz: 6703dd08a4a43fbf1a150339a171edcd3dd13de5
5
5
  SHA512:
6
- metadata.gz: 0d978db8cb869d4f56f3529e5a1e9f18d5b12744f886f51d5dd170a30bf574e3c60fb45fede61ca810d4a94b9fb8f8646103193686b03528632ed53b63b57c8d
7
- data.tar.gz: ee0531966194636b10811310a55aa65aee4fbf2f048ba961332d16e6ee160ffef5175475f7775118de757226cb4a689ebe07d3b0f17f676c3f2244c84c2d4c02
6
+ metadata.gz: 76417ea20245f97400d0edd9cc68bf03119e35f64aa70df9cbd342754ea996caec41dc311e0ea146e9f2639a6c44405db9c9fc7749db12babab5152e974cc7ee
7
+ data.tar.gz: c9d29df8cebbb6db0994d295893ad48a03600fb1463372e3354a4ee26b375a7e42b6c02c0e66e92c923ae51b456dd4ce4326e98795929461f8f42adc2a97407d
data/.travis.yml CHANGED
@@ -4,7 +4,10 @@ rvm:
4
4
  - 2.3.1
5
5
  - 2.2.5
6
6
  env:
7
- - GSM_TEST_MODE=CI
8
- addons:
9
- code_climate:
10
- repo_token: a3b92a7e935316eab6293228fa587784c95b9dd10ab61adb4fdb9ecb6ca330d8
7
+ - GSM_TEST_MODE: CI
8
+ - CODECLIMATE_REPO_TOKEN: a3b92a7e935316eab6293228fa587784c95b9dd10ab61adb4fdb9ecb6ca330d8
9
+ after_sucess:
10
+ - bundle exec codeclimate-test-reporter
11
+ notifications:
12
+ email: false
13
+ slack: navyblue-team:ioO5diAGc5WUQVDKc5BH1UbE
data/README.md CHANGED
@@ -6,7 +6,6 @@
6
6
  [![Code Climate](https://codeclimate.com/github/crispgm/gsm/badges/gpa.svg)](https://codeclimate.com/github/crispgm/gsm)
7
7
  [![Test Coverage](https://codeclimate.com/github/crispgm/gsm/badges/coverage.svg)](https://codeclimate.com/github/crispgm/gsm/coverage)
8
8
  [![Join the chat at https://gitter.im/crispgm/gsm](https://badges.gitter.im/crispgm/gsm.svg)](https://gitter.im/crispgm/gsm?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
9
- [![BADGINATOR](https://badginator.herokuapp.com/crispgm/gsm.svg)](https://github.com/defunctzombie/badginator)
10
9
 
11
10
  GSM is a simple sources manager for RubyGems. GSM means GSM Sources Manager as a recursive acronym or simply Gem Sources Manager.
12
11
 
data/Rakefile CHANGED
@@ -10,6 +10,12 @@ Rake::TestTask.new do |t|
10
10
  t.verbose = true
11
11
  end
12
12
 
13
+ task :site do
14
+ Dir.chdir("docs") do
15
+ sh "jekyll s"
16
+ end
17
+ end
18
+
13
19
  task :count do
14
20
  files = `git ls-files -z`.split("\x0")
15
21
  shell_cmd = "wc -l "
data/appveyor.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  version: 1.0.{build}-{branch}
2
2
 
3
- cache:
3
+ cache:
4
4
  - vendor/bundle
5
5
 
6
6
  environment:
@@ -21,4 +21,4 @@ before_test:
21
21
  - bundle -v
22
22
 
23
23
  test_script:
24
- - bundle exec rake
24
+ - bundle exec rake
@@ -1,3 +1,15 @@
1
+ - version: "1.0.0.beta1"
2
+ changes:
3
+ - text: "Polish docs"
4
+ issue: 12
5
+ - text: "Use colored error message"
6
+ issue: 13
7
+ - text: "Bugfix: illegal name/url cause exception"
8
+ issue: 13
9
+ - version: "1.0.0.alpha5"
10
+ changes:
11
+ - text: "Bugfix: unintended path to `sources.yml`"
12
+ issue: 8
1
13
  - version: "1.0.0.alpha4"
2
14
  changes:
3
15
  - text: "Ruby 2.2.5 support"
data/docs/_data/index.yml CHANGED
@@ -16,7 +16,9 @@ install: |
16
16
  guide: |
17
17
  ## Getting Started
18
18
 
19
- Once you have installed and run `gsm` with commands other than `--help` or `--version`, `gsm` will load sources from current `gem sources -l` you set.
19
+ Once you have installed and bootstrapped `gsm` with commands other than `--help` or `--version`, `gsm` will load sources from local `gem sources -l`.
20
+
21
+ HINT: The sources will be named after gemstones, e.g. _Amethyst_.
20
22
 
21
23
  ## Commands
22
24
 
@@ -26,6 +28,8 @@ guide: |
26
28
 
27
29
  ```
28
30
  $ gsm list
31
+
32
+ Amethyst: https://gems.ruby-china.org/
29
33
  ```
30
34
 
31
35
  ### Use
@@ -34,6 +38,14 @@ guide: |
34
38
 
35
39
  ```
36
40
  $ gsm use Amethyst
41
+
42
+ GSM: Source `Amethyst` has been applied.
43
+ ```
44
+
45
+ ```
46
+ $ gsm list
47
+
48
+ Amethyst: https://rubygems.org/ (*)
37
49
  ```
38
50
 
39
51
  ### Add
@@ -37,7 +37,7 @@
37
37
  </header>
38
38
  {{ content }}
39
39
  <footer>
40
- Copyright &copy; 2016, <a href="https://crispgm.com/">David Zhang</a>.
40
+ Copyright &copy; <a href="https://crispgm.com/">David Zhang</a>, 2017.
41
41
  </footer>
42
42
  </div>
43
43
  </body>
data/docs/css/style.css CHANGED
@@ -5,14 +5,14 @@ html {
5
5
  width: 100%;
6
6
  font-size: 16px;
7
7
  }
8
- @media (max-width: 48rem) {
8
+ @media (max-width: 42rem) {
9
9
  html {
10
10
  font-size: 12px;
11
11
  }
12
12
  }
13
13
  body {
14
14
  margin: 0;
15
- font-family: "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
15
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
16
16
  font-size: 1rem;
17
17
  -webkit-font-smoothing: antialiased;
18
18
  color: #333;
@@ -36,23 +36,26 @@ pre.highlight {
36
36
  border: .05rem solid #aaaaaa;
37
37
  border-radius: .2rem;
38
38
  font-family: Menlo, Monaco, "Source Code Pro", Consolas, Courier;
39
- font-size: 1rem;
39
+ font-size: .9rem;
40
+ padding: .4rem .8rem .4rem .8rem;
41
+ color: #aaa;
42
+ background-color: #222;
40
43
  }
41
44
  code.hljs {
42
45
  padding: .8rem;
43
46
  }
44
47
  code.highlighter-rouge {
45
- border: .05rem solid #aaaaaa;
48
+ background-color: #ddd;
46
49
  border-radius: .2rem;
47
- padding-left: .2rem;
48
- padding-right: .2rem;
50
+ padding: .1rem .3rem .1rem .3rem;
51
+ font-size: .9rem;
49
52
  }
50
53
  #container {
51
54
  margin: 0 auto;
52
- max-width: 48rem;
55
+ max-width: 42rem;
53
56
  text-align: left;
54
57
  }
55
- @media (max-width: 48rem) {
58
+ @media (max-width: 42rem) {
56
59
  #container {
57
60
  padding-left: .5rem;
58
61
  padding-right: .5rem;
@@ -61,7 +64,7 @@ code.highlighter-rouge {
61
64
  #topbar {
62
65
  height: 3rem;
63
66
  padding-top: 1rem;
64
- margin-bottom: 5rem;
67
+ margin-bottom: 6rem;
65
68
  }
66
69
  .title {
67
70
  font-weight: bold;
@@ -73,7 +76,7 @@ code.highlighter-rouge {
73
76
  .menu-item {
74
77
  padding-left: 1rem;
75
78
  }
76
- @media (max-width: 48rem) {
79
+ @media (max-width: 42rem) {
77
80
  .title {
78
81
  margin-top: 2rem;
79
82
  text-align: center;
@@ -99,7 +102,8 @@ code.highlighter-rouge {
99
102
  }
100
103
  #intro-text {
101
104
  margin-top: 6rem;
102
- font-size: 2rem;
105
+ font-size: 1.8rem;
106
+ line-height: 1.4;
103
107
  }
104
108
  #intro-desc {
105
109
  text-align: left;
@@ -115,7 +119,7 @@ code.highlighter-rouge {
115
119
  #intro-version {
116
120
  margin-top: 1rem;
117
121
  }
118
- @media (max-width: 48rem) {
122
+ @media (max-width: 42rem) {
119
123
  #intro-text {
120
124
  margin-top: 3rem;
121
125
  font-size: 1.1rem;
@@ -130,11 +134,11 @@ code.highlighter-rouge {
130
134
  line-height: 2.5rem;
131
135
  color: #000;
132
136
  background-color: #fff;
133
- border: .15rem solid #000;
137
+ border: 1px solid #000;
134
138
  border-radius: .5rem;
135
139
  }
136
140
  .install-item:hover {
137
- border: .15rem solid #06c;
141
+ border: 1px solid #06c;
138
142
  }
139
143
  .install-gsm {
140
144
  margin-right: .5rem;
@@ -155,14 +159,14 @@ code.highlighter-rouge {
155
159
  #social {
156
160
  text-align: center;
157
161
  margin-top: 1rem;
158
- padding-bottom: 1rem;
159
- border-bottom: solid #aaa .1rem;
162
+ padding-bottom: 3rem;
163
+ border-bottom: solid #aaa 1px;
160
164
  }
161
165
  .content {
162
166
  padding-top: 3rem;
163
167
  font-size: 1rem;
164
- border-bottom: solid #aaa .1rem;
165
- padding-bottom: 1.6rem;
168
+ border-bottom: solid #aaa 1px;
169
+ padding-bottom: 3rem;
166
170
  }
167
171
  .content-title {
168
172
  text-align: center;
data/exe/gsm CHANGED
@@ -47,7 +47,7 @@ Mercenary.program(:gsm) do |p|
47
47
  if use
48
48
  puts "GSM: Source `#{use}` has been applied."
49
49
  else
50
- puts "GSM Error: Illegal source `#{name}`."
50
+ Gsm::Util.error("Illegal source `#{name}`.")
51
51
  end
52
52
  end
53
53
  end
@@ -63,14 +63,19 @@ Mercenary.program(:gsm) do |p|
63
63
  url = args[1]
64
64
  is_use = opts["use"]
65
65
 
66
+ if args.size < 2
67
+ Gsm::Util.error("Illegal name/url.")
68
+ return
69
+ end
70
+
66
71
  if gem.add(name, url)
67
72
  if is_use
68
73
  if !gem.use(name)
69
- puts "GSM Error: Illegal source `#{name}`."
74
+ Gsm::Util.error("Illegal source `#{name}`.")
70
75
  end
71
76
  end
72
77
  else
73
- puts "GSM Error: Illegal name/url."
78
+ Gsm::Util.error("Illegal name/url.")
74
79
  end
75
80
  end
76
81
  end
@@ -83,10 +88,10 @@ Mercenary.program(:gsm) do |p|
83
88
  name = args[0]
84
89
  ret = gem.del(name)
85
90
  if ret == false
86
- puts "GSM Error: Source is in use. Please switch to other source in advance."
91
+ Gsm::Util.error("Source is in use. Please switch to other source in advance.")
87
92
  return
88
93
  elsif ret == nil
89
- puts "GSM Error: No source name with `#{name}`."
94
+ Gsm::Util.error("No source name with `#{name}`.")
90
95
  return
91
96
  end
92
97
  end
@@ -116,7 +121,7 @@ Mercenary.program(:gsm) do |p|
116
121
  if args.size == 0
117
122
  name = gem.get
118
123
  if name.empty?
119
- puts "GSM Error: no default source for mirror."
124
+ Gsm::Util.error("no default source for mirror.")
120
125
  return
121
126
  end
122
127
  else
data/gsm.gemspec CHANGED
@@ -23,7 +23,8 @@ Gem::Specification.new do |spec|
23
23
 
24
24
  spec.add_development_dependency "minitest"
25
25
  spec.add_development_dependency "shoulda-context"
26
- spec.add_development_dependency "codeclimate-test-reporter"
26
+ spec.add_development_dependency "codeclimate-test-reporter", "~> 1.0.0"
27
27
 
28
28
  spec.add_dependency "mercenary", "~> 0.3.6"
29
+ spec.add_dependency "colorize"
29
30
  end
data/lib/gsm/bundle.rb CHANGED
@@ -1,14 +1,16 @@
1
1
  module Gsm
2
- class Bundle
2
+ module Bundle
3
+ class << self
3
4
 
4
- RUBY_GEM_URL = "https://rubygems.org/".freeze
5
+ RUBY_GEM_URL = "https://rubygems.org/".freeze
5
6
 
6
- def self.mirror(dst_url, src_url = RUBY_GEM_URL)
7
- `bundle config mirror.#{src_url} #{dst_url}`
8
- end
7
+ def mirror(dst_url, src_url = RUBY_GEM_URL)
8
+ `bundle config mirror.#{src_url} #{dst_url}`
9
+ end
9
10
 
10
- def self.reset
11
- self.mirror(RUBY_GEM_URL)
11
+ def reset
12
+ self.mirror(RUBY_GEM_URL)
13
+ end
12
14
  end
13
15
  end
14
- end
16
+ end
data/lib/gsm/util.rb CHANGED
@@ -1,4 +1,11 @@
1
1
  module Gsm
2
2
  module Util
3
+ class << self
4
+ require "colorize"
5
+
6
+ def error(msg)
7
+ puts "GSM Error: #{msg}".red
8
+ end
9
+ end
3
10
  end
4
- end
11
+ end
data/lib/gsm/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Gsm
2
- VERSION = "1.0.0.alpha5".freeze
2
+ VERSION = "1.0.0.beta1".freeze
3
3
  end
data/test/helper.rb CHANGED
@@ -1,5 +1,5 @@
1
- require "codeclimate-test-reporter"
2
- CodeClimate::TestReporter.start
1
+ require "simplecov"
2
+ SimpleCov.start
3
3
 
4
4
  require "minitest/autorun"
5
5
  require "shoulda-context"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gsm-sources-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha5
4
+ version: 1.0.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Zhang
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-20 00:00:00.000000000 Z
11
+ date: 2017-06-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -42,16 +42,16 @@ dependencies:
42
42
  name: codeclimate-test-reporter
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 1.0.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 1.0.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mercenary
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.3.6
69
+ - !ruby/object:Gem::Dependency
70
+ name: colorize
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
69
83
  description: GSM is a simple sources manager for RubyGems.
70
84
  email:
71
85
  - crispgm@gmail.com
@@ -124,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
138
  version: 1.3.1
125
139
  requirements: []
126
140
  rubyforge_project:
127
- rubygems_version: 2.5.1
141
+ rubygems_version: 2.6.11
128
142
  signing_key:
129
143
  specification_version: 4
130
144
  summary: GSM Sources Manager