meetup-cli 1.0.0 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/meetup-cli.rb +46 -31
- data/lib/meetup-cli/api.rb +13 -0
- data/lib/meetup-cli/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c9be64be27aabbf01dd647b970f362a4c904806f
|
4
|
+
data.tar.gz: e56c7cef2206246ec044d462fe2ea49c16691a86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 37373ac49ae67f741edd7b76aad3fc74ddbacb8e5ea1ec6b5cce568fdc461468cc485d6352935401fd3ae39437fd06de9205f0e0f664d8eab3dbb35d2dce9782
|
7
|
+
data.tar.gz: c3e236427205905977aec1df6d48d464bd49409f8188b66cf3250625e6626d9ac0b8dbde6759a33465e08a732447741cd7d9e7d80e7890cf32d34b28825fb455
|
data/lib/meetup-cli.rb
CHANGED
@@ -1,20 +1,25 @@
|
|
1
|
+
require 'gli'
|
1
2
|
require 'yaml'
|
2
|
-
require '
|
3
|
+
require 'meetup-cli/api'
|
3
4
|
require 'meetup-cli/version'
|
4
5
|
|
5
6
|
APP_NAME = File.basename $0, File.extname($0)
|
6
7
|
CONFIG_FILE = File.join(ENV['HOME'], ".#{APP_NAME}rc")
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
include GLI::App
|
10
|
+
program_desc "Meetup command line interface"
|
11
|
+
version MCLI::VERSION
|
12
|
+
default_command :upcoming
|
12
13
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
14
|
+
pre do
|
15
|
+
# Do not print stack trace when terminating due to a broken pipe
|
16
|
+
Signal.trap "SIGPIPE", "SYSTEM_DEFAULT"
|
17
|
+
|
18
|
+
begin
|
19
|
+
$config = YAML.load_file(CONFIG_FILE)
|
20
|
+
throw if $config['api_key'].nil?
|
21
|
+
rescue
|
22
|
+
exit_now! <<-EOM
|
18
23
|
It looks like you are running #{APP_NAME} for the first time.
|
19
24
|
|
20
25
|
Obtain an API key from: https://secure.meetup.com/meetup_api/key/
|
@@ -22,29 +27,39 @@ Obtain an API key from: https://secure.meetup.com/meetup_api/key/
|
|
22
27
|
And save the following in ~/.#{APP_NAME}rc:
|
23
28
|
|
24
29
|
api_key: <api-key>
|
25
|
-
|
26
|
-
|
27
|
-
|
30
|
+
EOM
|
31
|
+
end
|
32
|
+
|
33
|
+
true # Success
|
34
|
+
end
|
35
|
+
|
36
|
+
on_error do |exception|
|
37
|
+
puts exception.message
|
38
|
+
|
39
|
+
# Suppress GLI's built-in error handling
|
40
|
+
false
|
41
|
+
end
|
42
|
+
|
43
|
+
# Human friendly date/time in user's time zone (almost RFC 2822)
|
44
|
+
def date_str(date)
|
45
|
+
date.to_time.strftime('%a, %-d %b %Y %H:%M:%S %Z')
|
28
46
|
end
|
29
47
|
|
30
|
-
|
31
|
-
|
48
|
+
desc "List your upcoming meetups (default command)"
|
49
|
+
command :upcoming do |c|
|
50
|
+
c.action do
|
51
|
+
puts "Your upcoming events:"
|
52
|
+
puts "---"
|
53
|
+
puts
|
32
54
|
|
33
|
-
|
34
|
-
|
35
|
-
|
55
|
+
MCLI::get_upcoming_events.each do |event|
|
56
|
+
puts "#{event.name}"
|
57
|
+
puts " URL: #{event.event_url}"
|
58
|
+
puts " Date: #{date_str(event.time)}"
|
59
|
+
puts " Where: #{event.venue.address_1}, #{event.venue.city}, #{event.venue.state}"
|
60
|
+
puts
|
61
|
+
end
|
62
|
+
end
|
36
63
|
end
|
37
64
|
|
38
|
-
|
39
|
-
puts
|
40
|
-
|
41
|
-
client.fetch(:events, {
|
42
|
-
member_id: $config['member_id'],
|
43
|
-
rsvp: 'yes'
|
44
|
-
}).each do |res|
|
45
|
-
puts "#{res.name}"
|
46
|
-
puts " URL: #{res.event_url}"
|
47
|
-
puts " Date: #{date_str(res.time)}"
|
48
|
-
puts " Where: #{res.venue.address_1}, #{res.venue.city}, #{res.venue.state}"
|
49
|
-
puts
|
50
|
-
end
|
65
|
+
exit run(ARGV)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'rMeetup'
|
2
|
+
|
3
|
+
module MCLI
|
4
|
+
def self.init_api
|
5
|
+
RMeetup::Client.new do |meetup_config|
|
6
|
+
meetup_config.api_key = $config['api_key']
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.get_upcoming_events
|
11
|
+
api = init_api.fetch(:events, {member_id: 'self', rsvp: 'yes'})
|
12
|
+
end
|
13
|
+
end
|
data/lib/meetup-cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: meetup-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ildar Sagdejev
|
@@ -19,6 +19,7 @@ extra_rdoc_files: []
|
|
19
19
|
files:
|
20
20
|
- bin/meetup-cli
|
21
21
|
- lib/meetup-cli.rb
|
22
|
+
- lib/meetup-cli/api.rb
|
22
23
|
- lib/meetup-cli/version.rb
|
23
24
|
homepage: https://github.com/specious/meetup-cli
|
24
25
|
licenses:
|