m_and_m 0.0.4 → 0.0.5
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 +7 -0
- data/bin/m_and_m +2 -2
- data/lib/m_and_m/cli.rb +28 -0
- data/lib/m_and_m/preferences.rb +33 -0
- data/lib/m_and_m/server.rb +15 -6
- data/lib/m_and_m/version.rb +1 -1
- data/lib/m_and_m.rb +1 -18
- metadata +11 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 33449224abc2ad6dc3066445f6d5bf41936d5cb1
|
4
|
+
data.tar.gz: c61c0f4f29f487b0da890f194adf387948c9b42e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0533d96b03ff4ec8c520571c0f520a36ca7183dcad5253d4091eaee78acf3c08adc7fcd6d4657a45329c092b8648c2d2a39c65f5233fc668bb633c49f99743b6
|
7
|
+
data.tar.gz: 0e3b88112939c18bbb680567d98fbb4aafdc954004cecf7d32c13228589ccc9829cfefae5c4a0c57c27d281006b318e99a361ec43ae210f42d5229e72996edb2
|
data/bin/m_and_m
CHANGED
data/lib/m_and_m/cli.rb
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'rainbow'
|
2
|
+
require 'm_and_m'
|
3
|
+
require 'm_and_m/server'
|
4
|
+
require 'm_and_m/preferences'
|
5
|
+
|
6
|
+
class MAndM::Cli
|
7
|
+
attr_reader :preferences
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@preferences = MAndM::Preferences.new '.m_and_m'
|
11
|
+
end
|
12
|
+
|
13
|
+
def execute
|
14
|
+
url = preferences.ask :url, 'What is the server url'
|
15
|
+
token = preferences.ask :token, 'What is the authentication token'
|
16
|
+
MAndM::Server.new(url, preferences).messages.each do |message|
|
17
|
+
puts "#{c :yellow, time(message["at"])} #{c :magenta, message["from"]} said #{c :green, message["message"]}"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def time at
|
22
|
+
Time.at(at).strftime("%d/%b %H:%M:%S")
|
23
|
+
end
|
24
|
+
|
25
|
+
def c colour, text
|
26
|
+
text.to_s.foreground colour
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class MAndM::Preferences
|
2
|
+
attr_reader :preferences_path, :hash
|
3
|
+
|
4
|
+
def initialize name
|
5
|
+
@preferences_path = File.join File.expand_path('~'), name
|
6
|
+
if File.exists? preferences_path
|
7
|
+
@hash = YAML.load_file preferences_path
|
8
|
+
else
|
9
|
+
@hash = {}
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def ask key, prompt
|
14
|
+
unless hash[key]
|
15
|
+
print "#{prompt} ? "
|
16
|
+
self[key] = gets.chomp
|
17
|
+
end
|
18
|
+
self[key]
|
19
|
+
end
|
20
|
+
|
21
|
+
def [] key
|
22
|
+
hash[key]
|
23
|
+
end
|
24
|
+
|
25
|
+
def []= key, value
|
26
|
+
hash[key] = value
|
27
|
+
persist
|
28
|
+
end
|
29
|
+
|
30
|
+
def persist
|
31
|
+
File.open(preferences_path, 'w') {|f| f.puts hash.to_yaml}
|
32
|
+
end
|
33
|
+
end
|
data/lib/m_and_m/server.rb
CHANGED
@@ -1,16 +1,25 @@
|
|
1
1
|
require 'httparty'
|
2
2
|
|
3
|
-
|
4
|
-
end
|
3
|
+
MAndM::Server = Struct.new :base_url, :preferences
|
5
4
|
|
6
5
|
class MAndM::Server
|
7
|
-
|
6
|
+
def last_message_id
|
7
|
+
preferences[:last_message_id]
|
8
|
+
end
|
9
|
+
|
10
|
+
def token
|
11
|
+
preferences[:token]
|
12
|
+
end
|
13
|
+
|
14
|
+
def authenticated_base_url
|
15
|
+
"#{base_url}?uuid=#{token}"
|
16
|
+
end
|
8
17
|
|
9
|
-
def
|
10
|
-
|
18
|
+
def message_url
|
19
|
+
last_message_id ? "#{authenticated_base_url}&id=#{last_message_id}" : authenticated_base_url
|
11
20
|
end
|
12
21
|
|
13
22
|
def messages
|
14
|
-
HTTParty.get
|
23
|
+
HTTParty.get message_url
|
15
24
|
end
|
16
25
|
end
|
data/lib/m_and_m/version.rb
CHANGED
data/lib/m_and_m.rb
CHANGED
@@ -1,19 +1,2 @@
|
|
1
|
-
require 'rainbow'
|
2
|
-
require 'm_and_m/version'
|
3
|
-
require 'm_and_m/server'
|
4
|
-
|
5
1
|
module MAndM
|
6
|
-
|
7
|
-
Server.new.messages.each do |message|
|
8
|
-
puts "#{c :yellow, time(message["at"])} #{c :magenta, message["from"]} said #{c :green, message["message"]}"
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.time at
|
13
|
-
Time.at(at).strftime("%d/%b %H:%M:%S")
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.c colour, text
|
17
|
-
text.to_s.foreground colour
|
18
|
-
end
|
19
|
-
end
|
2
|
+
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: m_and_m
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Lionel Randall
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-06-
|
11
|
+
date: 2013-06-30 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: httparty
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rainbow
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: bundler
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -62,17 +55,15 @@ dependencies:
|
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: rake
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
description:
|
@@ -91,38 +82,33 @@ files:
|
|
91
82
|
- Rakefile
|
92
83
|
- bin/m_and_m
|
93
84
|
- lib/m_and_m.rb
|
85
|
+
- lib/m_and_m/cli.rb
|
86
|
+
- lib/m_and_m/preferences.rb
|
94
87
|
- lib/m_and_m/server.rb
|
95
88
|
- lib/m_and_m/version.rb
|
96
89
|
- m_and_m.gemspec
|
97
90
|
homepage: ''
|
98
91
|
licenses:
|
99
92
|
- MIT
|
93
|
+
metadata: {}
|
100
94
|
post_install_message:
|
101
95
|
rdoc_options: []
|
102
96
|
require_paths:
|
103
97
|
- lib
|
104
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
99
|
requirements:
|
107
|
-
- -
|
100
|
+
- - '>='
|
108
101
|
- !ruby/object:Gem::Version
|
109
102
|
version: '0'
|
110
|
-
segments:
|
111
|
-
- 0
|
112
|
-
hash: -4209308286874667398
|
113
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
-
none: false
|
115
104
|
requirements:
|
116
|
-
- -
|
105
|
+
- - '>='
|
117
106
|
- !ruby/object:Gem::Version
|
118
107
|
version: '0'
|
119
|
-
segments:
|
120
|
-
- 0
|
121
|
-
hash: -4209308286874667398
|
122
108
|
requirements: []
|
123
109
|
rubyforge_project:
|
124
|
-
rubygems_version:
|
110
|
+
rubygems_version: 2.0.3
|
125
111
|
signing_key:
|
126
|
-
specification_version:
|
112
|
+
specification_version: 4
|
127
113
|
summary: Command line gem for M & M
|
128
114
|
test_files: []
|