spin_r 0.1.0 → 1.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b01212f3cf3685572e747caee1b7f6cb658429f
4
- data.tar.gz: 31357fddb31515a48b1b2428a0bb5fdd3a1454c6
3
+ metadata.gz: 27c0a1f597760cdf3125d1d31e7e839d9d08527b
4
+ data.tar.gz: 231a3af7adab85e05143b7f2faeb46f3ce485355
5
5
  SHA512:
6
- metadata.gz: 296bca66f0b5b8361adca2e297db92a93b6b7a65294b7172820b6001a404b4d2a60da062916af45b6c642367af68830625a24ed8e8bce039b46881d223e62c0f
7
- data.tar.gz: f861f8e5af750a4a42ca5bced7018a8f3af4208a069cac3458ad50b18267e6317654eaeab939e4d376dc82e3bae79bd1cc0b7d40d1148111a2315837a4f69580
6
+ metadata.gz: 9a003aaf5ce0d4e07ec4288cee1880a066a9e6cc5048e10015138cf2c8ce57459c4e17e754014ba00a4fe2e5205e4a55753328c75917da4669f32d4e0b76bbaa
7
+ data.tar.gz: 8f9576355e1c4dd31a5ee0dc80f802edbdf407400d48238c39dc8affecdff5ec5073214bc4df9b13b4c5851bead384d97b2a12017f42945d1231a2c7fa998980
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.4.2
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- spin_r (0.1.0)
4
+ spin_r (1.0.0)
5
+ colorize
5
6
 
6
7
  GEM
7
8
  remote: https://rubygems.org/
@@ -15,6 +16,7 @@ GEM
15
16
  virtus (~> 1.0)
16
17
  coercible (1.0.0)
17
18
  descendants_tracker (~> 0.0.1)
19
+ colorize (0.8.1)
18
20
  descendants_tracker (0.0.4)
19
21
  thread_safe (~> 0.3, >= 0.3.1)
20
22
  diff-lcs (1.3)
@@ -64,7 +66,6 @@ PLATFORMS
64
66
  ruby
65
67
 
66
68
  DEPENDENCIES
67
- bundler (~> 1.16.a)
68
69
  rake (~> 10.0)
69
70
  reek
70
71
  rspec (~> 3.0)
@@ -72,4 +73,4 @@ DEPENDENCIES
72
73
  spin_r!
73
74
 
74
75
  BUNDLED WITH
75
- 1.16.0.pre.2
76
+ 1.16.0.pre.3
data/demo.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'bundler/setup'
2
2
  require 'spin_r'
3
3
 
4
- def test_spinner(spinner, name)
4
+ def test_spinner(spinner, color, name)
5
5
  block = proc do
6
6
  sleep 1
7
7
  puts 'You spin my head right round! right round!'
@@ -13,17 +13,17 @@ def test_spinner(spinner, name)
13
13
 
14
14
  puts "SpinR::Spinners::#{name} Spinner"
15
15
  puts
16
- SpinR.spin(spinner, &block)
16
+ SpinR.spin(spinner, color, &block)
17
17
  puts
18
18
  puts
19
19
  end
20
20
 
21
- test_spinner SpinR::Spinners::TRADITIONAL, 'TRADITIONAL'
22
- test_spinner SpinR::Spinners::BLOCK, 'BLOCK'
23
- test_spinner SpinR::Spinners::DOTTED_1, 'DOTTED_1'
24
- test_spinner SpinR::Spinners::DOTTED_2, 'DOTTED_2'
25
- test_spinner SpinR::Spinners::DOTTED_3, 'DOTTED_3'
26
- test_spinner SpinR::Spinners::DOTTED_4, 'DOTTED_4'
27
- test_spinner SpinR::Spinners::WORLD, 'WORLD'
28
- test_spinner SpinR::Spinners::TRIANGLE, 'TRIANGLE'
29
- test_spinner SpinR::Spinners::EMOJI, 'EMOJI'
21
+ test_spinner SpinR::Spinners::TRADITIONAL, :black, 'TRADITIONAL'
22
+ test_spinner SpinR::Spinners::BLOCK, :red, 'BLOCK'
23
+ test_spinner SpinR::Spinners::DOTTED_1, :green, 'DOTTED_1'
24
+ test_spinner SpinR::Spinners::DOTTED_2, :yellow, 'DOTTED_2'
25
+ test_spinner SpinR::Spinners::DOTTED_3, :blue, 'DOTTED_3'
26
+ test_spinner SpinR::Spinners::DOTTED_4, :magenta, 'DOTTED_4'
27
+ test_spinner SpinR::Spinners::WORLD, :cyan, 'WORLD'
28
+ test_spinner SpinR::Spinners::TRIANGLE, :white, 'TRIANGLE'
29
+ test_spinner SpinR::Spinners::EMOJI, :default, 'EMOJI'
data/lib/spin_r.rb CHANGED
@@ -3,8 +3,8 @@ require 'spin_r/spinners'
3
3
  require 'spin_r/spinner'
4
4
 
5
5
  module SpinR
6
- def self.spin(spinner = nil, &block)
7
- runner = SpinR::Spinner.new(spinner)
6
+ def self.spin(spinner = nil, color = nil, &block)
7
+ runner = SpinR::Spinner.new(spinner, color)
8
8
  runner.worker(&block)
9
9
  end
10
10
  end
@@ -1,7 +1,13 @@
1
1
  module SpinR
2
2
  class Spinner
3
- def initialize(spinner = nil)
3
+ COLORS = %i[
4
+ black light_black red light_red green light_green yellow light_yellow blue light_blue magenta
5
+ light_magenta cyan light_cyan white light_white default
6
+ ].freeze
7
+
8
+ def initialize(spinner = nil, color = nil)
4
9
  @spinner = spinner || SpinR::Spinners::TRADITIONAL
10
+ @color = color
5
11
  end
6
12
 
7
13
  def worker(&block)
@@ -11,11 +17,14 @@ module SpinR
11
17
  private
12
18
 
13
19
  def with_spin
20
+ require 'colorize'
14
21
  chars = @spinner.clone.dup
15
22
  thread = Thread.new { yield }
16
23
 
17
24
  while thread.alive?
18
- print "#{chars[0]}\r"
25
+ spin_text = "#{chars[0]}\r".bold
26
+ spin_text = spin_text.send(@color.to_s) if COLORS.include? @color
27
+ print spin_text
19
28
  sleep 0.1
20
29
  print "\b"
21
30
  chars.push chars.shift
@@ -10,4 +10,4 @@ module SpinR
10
10
  TRIANGLE = %w[◢ ◣ ◤ ◥].freeze
11
11
  EMOJI = %w[🌑 🌒 🌓 🌔 🌕 🌝 🌖 🌗 🌘 🌚].freeze
12
12
  end
13
- end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module SpinR
2
- VERSION = '0.1.0'.freeze
2
+ VERSION = '1.0.0'.freeze
3
3
  end
data/spin_r.gemspec CHANGED
@@ -26,7 +26,8 @@ Gem::Specification.new do |spec|
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27
27
  spec.require_paths = ['lib']
28
28
 
29
- spec.add_development_dependency 'bundler', '~> 1.16.a'
29
+ spec.add_dependency 'colorize'
30
+
30
31
  spec.add_development_dependency 'rake', '~> 10.0'
31
32
  spec.add_development_dependency 'reek'
32
33
  spec.add_development_dependency 'rspec', '~> 3.0'
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spin_r
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - indrajit
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-06 00:00:00.000000000 Z
11
+ date: 2017-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: colorize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 1.16.a
20
- type: :development
19
+ version: '0'
20
+ type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 1.16.a
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -90,6 +90,7 @@ files:
90
90
  - ".gitignore"
91
91
  - ".rspec"
92
92
  - ".rubocop.yml"
93
+ - ".ruby-version"
93
94
  - ".travis.yml"
94
95
  - CODE_OF_CONDUCT.md
95
96
  - CONTRIBUTORS.md
@@ -127,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
128
  version: '0'
128
129
  requirements: []
129
130
  rubyforge_project:
130
- rubygems_version: 2.6.11
131
+ rubygems_version: 2.6.13
131
132
  signing_key:
132
133
  specification_version: 4
133
134
  summary: Shell Spinner.