emotion-picker 0.3.0 → 0.4.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
- SHA1:
3
- metadata.gz: 6dc1f0f67e1065f9b19ab588414b8dc0fe2a68aa
4
- data.tar.gz: dd2ba5a43592fc8f02873c36f3febaa521e3d76d
2
+ SHA256:
3
+ metadata.gz: 4923405e10668de1aaf6294877ff11eed21b101f1fb02f01ade6ac062231c450
4
+ data.tar.gz: 13358d81e9e3dfbb7b6abf5db3b8dcaa9f211d971c2cc285449f9d8174277946
5
5
  SHA512:
6
- metadata.gz: c0b0baafc48608f60e5c9154b8febd3ff4d93e335120eadcb982acbd47b55456ae7805b3c560d7b2e203131b4544035a0847b98c611cace7a8bb9adcb7bc1338
7
- data.tar.gz: 456ec47422a2069b1e5e273b4569a2d774a1932886fc9a3a591ef295487f00e3abebbf082cdcdffc603a1853b7ee1c91752fcdcb4e0fd0a4ebf332600a95c0e4
6
+ metadata.gz: 7a763e6c73b70d27930ebd066adf4c2304aee6cc51de90f06f9059a51ad9f14f9ee687ae809b1d4ee7a3033a3911f3b44fe823aff5d48bab35acdc4012efde93
7
+ data.tar.gz: 18689ca949dfaff5ec532469942bb5533cbd3a6c3081ad128a845de9559dc3ce313fbc24c200b2cda2eb0c8342bcc24feb1a8d5ae379e46a57a2f633e59a51e9
data/LICENSE CHANGED
File without changes
@@ -3,27 +3,9 @@
3
3
 
4
4
  require 'emotion/picker'
5
5
  require 'nice-sigint'
6
- require 'optparse'
7
6
 
8
- parser = OptionParser.new do |opts|
9
- opts.banner = 'Usage: emotion-picker [-hv]'
7
+ options_parser = Emotion::Picker::Cli.new
8
+ emotions_picker = Emotion::Picker::EmotionPicker.new
10
9
 
11
- opts.on('-h', '--help', 'Prints this help') do
12
- puts opts
13
- exit
14
- end
15
-
16
- opts.on('-v', '--version', 'Prints program version') do
17
- puts Emotion::Picker::VERSION
18
- exit
19
- end
20
- end
21
-
22
- begin
23
- parser.parse!
24
- rescue OptionParser::ParseError => e
25
- warn e.message
26
- abort parser.to_s
27
- end
28
-
29
- puts "You are feeling #{Emotion::Picker.pick}"
10
+ options_parser.parse!(ARGV)
11
+ puts "You are feeling #{emotions_picker.pick}"
@@ -1,5 +1,5 @@
1
1
  - name: Abandoned
2
- description: An emotional state in which people feel discarted, undesired, left behind
2
+ description: A state in which people feel discarted, undesired, left behind
3
3
 
4
4
  - name: Fear of Abandonment
5
5
  description: An irrational belief that one is in imminent danger of being personally rejected, discarded or replaced
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'emotion/picker/version'
4
- require 'emotion/picker/emotion'
5
3
  require 'yaml'
6
4
 
7
5
  module Emotion
@@ -9,6 +7,10 @@ module Emotion
9
7
  EMOTIONS_FILE = "#{__dir__}/emotions.yml"
10
8
  private_constant :EMOTIONS_FILE
11
9
 
10
+ autoload :Emotion, 'emotion/picker/emotion'
11
+ autoload :Cli, 'emotion/picker/cli'
12
+ autoload :VERSION, 'emotion/picker/version'
13
+
12
14
  # Class for choosing an emotion
13
15
  class EmotionPicker
14
16
  def initialize
@@ -19,7 +21,7 @@ module Emotion
19
21
  # @return [Emotion]
20
22
  def pick
21
23
  rand = Random.new
22
- index = rand.rand(0..@emotions.length)
24
+ index = rand.rand(0...@emotions.length)
23
25
  @emotions[index]
24
26
  end
25
27
 
@@ -39,12 +41,5 @@ module Emotion
39
41
  emotions
40
42
  end
41
43
  end
42
-
43
- # Shortcut method for getting a random emotion
44
- # @return [Emotion]
45
- def self.pick
46
- picker = EmotionPicker.new
47
- picker.pick
48
- end
49
44
  end
50
45
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'optparse'
4
+
5
+ module Emotion
6
+ module Picker
7
+ class Cli
8
+ # @param args[Array]
9
+ def parse!(args)
10
+ parser = OptionParser.new do |opts|
11
+ opts.banner = 'Usage: emotion-picker [-hv]'
12
+
13
+ opts.on('-h', '--help', 'Prints this help') do
14
+ puts opts
15
+ exit
16
+ end
17
+
18
+ opts.on('-v', '--version', 'Prints program version') do
19
+ puts VERSION
20
+ exit
21
+ end
22
+ end
23
+
24
+ begin
25
+ parser.parse!(args)
26
+ rescue OptionParser::ParseError => e
27
+ warn e.message
28
+ abort parser.to_s
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
File without changes
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Emotion
4
4
  module Picker
5
- VERSION = '0.3.0'
5
+ VERSION = '0.4.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emotion-picker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christopher Birmingham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-21 00:00:00.000000000 Z
11
+ date: 2019-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nice-sigint
@@ -38,34 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.17'
41
- - !ruby/object:Gem::Dependency
42
- name: minitest
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '5.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '5.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '10.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '10.0'
69
41
  description: Program for picking a random emotion
70
42
  email:
71
43
  - chris.birmingham@hotmail.co.uk
@@ -78,6 +50,7 @@ files:
78
50
  - bin/emotion-picker
79
51
  - lib/emotion/emotions.yml
80
52
  - lib/emotion/picker.rb
53
+ - lib/emotion/picker/cli.rb
81
54
  - lib/emotion/picker/emotion.rb
82
55
  - lib/emotion/picker/version.rb
83
56
  homepage: https://github.com/chrisBirmingham/emotion-picker
@@ -99,8 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
99
72
  - !ruby/object:Gem::Version
100
73
  version: '0'
101
74
  requirements: []
102
- rubyforge_project:
103
- rubygems_version: 2.2.5
75
+ rubygems_version: 3.0.3
104
76
  signing_key:
105
77
  specification_version: 4
106
78
  summary: Emotion Picker