moodwall 0.1.3 → 0.1.4

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
  SHA256:
3
- metadata.gz: e8a87e2546ffca4136d0c4a9b8a4981ae58e6121d1c28c80e8ea50f016f355d9
4
- data.tar.gz: e449ab812e1043ffb4f428d90380572307314873cac98614ecdb5c4d4b39c87a
3
+ metadata.gz: f9054fee489308683737f0cbeb2b2276598c7b3bed2b7067a90b7de4d0700782
4
+ data.tar.gz: 62c291f465fd0578bcfbba613228a5486966815b235e8a7af541e61aa5f80b15
5
5
  SHA512:
6
- metadata.gz: 9450dc43b2600adb20beed01a31734853aa02e200799152b67790329fc43ca051493cd7a091414ac24dee210105273c11e7aa676377013ffea57378c9cb73699
7
- data.tar.gz: eb934e44f1f1a8f1cf4babc2af41a1f871a524026a7c01398e36ea2a4d427b964f1540e6cad3aa6a304b1ad1463d16b2c9ca7d019c007c19dcc901510bce6df7
6
+ metadata.gz: 546cecc934bcb6cd962224a9ca2348c1c83793a004cec91f876352efb805000bf17279bbbdd8ca41fcb941822caf75c34fdb0bb3eed8cebb9860893a81cd7302
7
+ data.tar.gz: 5c7a710ca05a40cbd2154321ebfda7916fe21cba972cff503384da5e6fc5f385357d3288b2f76dcf00d97dff4c92a6615c81741e2ceff375faf61fe26b9d6e24
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- moodwall (0.1.3)
4
+ moodwall (0.1.4)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -8,108 +8,13 @@ rescue LoadError
8
8
  require "moodwall"
9
9
  end
10
10
 
11
- require "optparse"
12
- require 'ostruct'
13
- require 'pp'
14
-
15
- class Moodwall::Optparse
16
- class ScriptOptions
17
- attr_accessor :change, :add, :list,
18
- :mood, :wallpaper,
19
- :path, :mood_name
20
-
21
- def initialize
22
- self.change = true
23
- self.add = false
24
- self.list = false
25
- self.mood = false
26
- self.wallpaper = true
27
- end
28
-
29
- def define_options(parser)
30
- parser.banner = "Usage: moodwall [options]\nDefaults: moodwall -c -w"
31
- parser.separator ""
32
- parser.separator "Specific options:"
33
-
34
- # additional commands
35
- change_option(parser)
36
- add_option(parser)
37
- list_option(parser)
38
-
39
- wallpaper_option(parser)
40
- mood_option(parser)
41
-
42
- parser.separator ""
43
- parser.separator "Common options:"
44
-
45
- parser.on_tail("-h", "--help", "Show this message") do
46
- puts parser
47
- exit
48
- end
49
-
50
- parser.on_tail("-v", "--version", "Show version") do
51
- puts Moodwall::VERSION
52
- exit
53
- end
54
- end
55
-
56
- def change_option(parser)
57
- parser.on("-c", "--change", "Change [target]") do
58
- self.change = true
59
- self.add = false
60
- end
61
- end
62
-
63
- def add_option(parser)
64
- parser.on("-a", "--add", "Add [target]") do
65
- self.add = true
66
- self.change = false
67
- end
68
- end
69
-
70
- def list_option(parser)
71
- parser.on("-l", "--list", "List [targets]") do
72
- self.list = true
73
- self.add = false
74
- self.change = false
75
- end
76
- end
77
-
78
- def wallpaper_option(parser)
79
- parser.on("-w", "--wallpaper [PATH]", "Specifies wallpaper path") do |path, mood_name|
80
- self.wallpaper = true
81
- self.path = path
82
- self.mood_name = mood_name
83
- end
84
- end
85
-
86
- def mood_option(parser)
87
- parser.on("-m", "--mood [NAME]", "Specifies mood name") do |mood_name|
88
- self.mood = true
89
- self.mood_name = mood_name
90
- end
91
- end
92
- end
93
-
94
- def parse(args)
95
- @options = ScriptOptions.new
96
- @args = OptionParser.new do |parser|
97
- @options.define_options(parser)
98
- parser.parse!(args)
99
- end
100
- @options
101
- end
102
-
103
- attr_reader :parser, :options
104
- end
105
-
106
11
  options = Moodwall::Optparse.new.parse(ARGV)
107
12
 
108
13
  case
109
14
  when options.add && options.mood && !options.mood_name.nil? && options.path.nil?
110
15
  Moodwall::Mood.new({name: options.mood_name}).save
111
16
  when options.change && options.mood && !options.mood_name.nil?
112
- Moodwall::Mood.change_current(name: options.mood_name)
17
+ Moodwall::Mood.choose_current(name: options.mood_name)
113
18
  when options.add && options.wallpaper && !options.path.nil? && !options.mood_name.nil?
114
19
  mood = Moodwall::Mood.find_by_name(options.mood_name)
115
20
  Moodwall::Wallpaper.new({path: options.path, mood_id: mood.id}).save
@@ -4,6 +4,7 @@ require "moodwall/repository"
4
4
  require "moodwall/record"
5
5
  require "moodwall/mood"
6
6
  require "moodwall/wallpaper"
7
+ require "moodwall/optparse"
7
8
 
8
9
  module Moodwall
9
10
  # Your code goes here...
@@ -0,0 +1,94 @@
1
+ require "optparse"
2
+
3
+ module Moodwall
4
+ class Optparse
5
+ attr_reader :parser, :options
6
+
7
+ def initialize(options = ScriptOptions.new)
8
+ @options = options
9
+ end
10
+
11
+ def parse(args)
12
+ @args = OptionParser.new do |parser|
13
+ options.define_options(parser)
14
+ parser.parse!(args)
15
+ end
16
+ options
17
+ end
18
+
19
+ class ScriptOptions
20
+ attr_accessor :change, :add, :list, :mood,
21
+ :wallpaper, :path, :mood_name
22
+
23
+ def initialize
24
+ self.change = true
25
+ self.add = false
26
+ self.list = false
27
+ self.mood = false
28
+ self.wallpaper = true
29
+ end
30
+
31
+ def define_options(parser)
32
+ parser.banner = "Usage: moodwall [options]\nDefaults: moodwall -c -w"
33
+ parser.separator ""
34
+ parser.separator "Specific options"
35
+
36
+ change_option(parser)
37
+ add_option(parser)
38
+ list_option(parser)
39
+
40
+ wallpaper_option(parser)
41
+ mood_option(parser)
42
+
43
+ parser.separator ""
44
+ parser.separator "Common options:"
45
+
46
+ parser.on_tail("-h", "--help", "Show this message") do
47
+ puts parser
48
+ exit
49
+ end
50
+
51
+ parser.on_tail("-v", "--version", "Show version") do
52
+ puts Moodwall::VERSION
53
+ exit
54
+ end
55
+ end
56
+
57
+ def change_option(parser)
58
+ parser.on("-c", "--change", "Change [target]") do
59
+ self.change = true
60
+ self.add = false
61
+ end
62
+ end
63
+
64
+ def add_option(parser)
65
+ parser.on("-a", "--add", "Add [target]") do
66
+ self.add = true
67
+ self.change = false
68
+ end
69
+ end
70
+
71
+ def list_option(parser)
72
+ parser.on("-l", "--list", "List [targets]") do
73
+ self.list = true
74
+ self.add = false
75
+ self.change = false
76
+ end
77
+ end
78
+
79
+ def wallpaper_option(parser)
80
+ parser.on("-w", "--wallpaper [PATH]", "Specifies wallpaper path") do |path|
81
+ self.wallpaper = true
82
+ self.path = path
83
+ end
84
+ end
85
+
86
+ def mood_option(parser)
87
+ parser.on("-m", "--mood [NAME]", "Specifies mood name") do |mood_name|
88
+ self.mood = true
89
+ self.mood_name = mood_name
90
+ end
91
+ end
92
+ end
93
+ end
94
+ end
@@ -1,3 +1,3 @@
1
1
  module Moodwall
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moodwall
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Valiantsin Mikhaliuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-06 00:00:00.000000000 Z
11
+ date: 2018-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -132,6 +132,7 @@ files:
132
132
  - lib/moodwall.rb
133
133
  - lib/moodwall/executable.rb
134
134
  - lib/moodwall/mood.rb
135
+ - lib/moodwall/optparse.rb
135
136
  - lib/moodwall/record.rb
136
137
  - lib/moodwall/repository.rb
137
138
  - lib/moodwall/version.rb