meetup-cli 1.1.0 → 2.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: 628eac0e29ab19ebc433a72cfe891bea87837e0e
4
- data.tar.gz: 1db7c70320897a80521720c8ec9dd0824de71152
3
+ metadata.gz: 34373c8b071816ba79116114352108a4b47ff63e
4
+ data.tar.gz: 43ee4aea625716bdaf4dd0e62e7d335a9831c881
5
5
  SHA512:
6
- metadata.gz: 69a8241e507f58440969b5f658c0cd17e51074fc082e178d47cad41a6b7ae09091a59f084d19064492bedb3197df930ea0abc1376b91a1156bc3f45b1fc21a29
7
- data.tar.gz: 5dc711434675934204868d5b65c3b563f23e401c79a99c07d3ff0595fc1442373aa64669b0b174368a7bf73a4c6b256001bee81cc98edb225d086ff89071ef7c
6
+ metadata.gz: 9b9c957493fd260593cc6cd15ff27124c4347021524716b8de8b71c30eb799f9cbb0036763b6d8ba32627fc83499607a098733bdbc1c4a28d61f378a1686a0dc
7
+ data.tar.gz: fb891f2c12e302bb79fd67ef783d7917c90a846f0d94869d75aff2bed7c8fd3d33c4db6048e4f0081eadc69bdfab06e96b26d0a69c5a16948a358781bcd0a0d3
@@ -7,15 +7,19 @@ require 'meetup-cli/version'
7
7
  APP_NAME = File.basename $0, File.extname($0)
8
8
  CONFIG_FILE = File.join(ENV['HOME'], ".#{APP_NAME}rc")
9
9
 
10
+ # Use the GLI command line parser to create this CLI app
11
+ # https://github.com/davetron5000/gli
12
+ #
10
13
  include GLI::App
11
14
  program_desc "Meetup command line interface"
12
15
  version MCLI::VERSION
13
- default_command :upcoming
16
+ default_command :going
17
+ sort_help :manually
14
18
 
15
19
  switch :color, :desc => 'Force colorized output', :negatable => false
16
20
 
17
21
  pre do |global_options|
18
- # Exit gracefully when terminating due to a broken pipe
22
+ # Exit without a stack trace when terminating due to a broken pipe
19
23
  Signal.trap "PIPE", "SYSTEM_DEFAULT" if Signal.list.include? "PIPE"
20
24
 
21
25
  String.disable_colorization(true) unless STDOUT.isatty or global_options['color']
@@ -60,23 +64,52 @@ def print_event_details(event)
60
64
  puts " #{"Where:".magenta} #{(event.venue.name.nil? ? "Not specified" : "#{event.venue.address_1}, #{event.venue.city}, #{event.venue.state} (#{event.venue.name.colorize(:green)})")}"
61
65
  end
62
66
 
63
- desc "List your upcoming events (default command)"
67
+ def query_events(attendance)
68
+ MCLI::send('get_' + attendance + '_events').each do |event|
69
+ print_event_details event
70
+ puts
71
+ end
72
+ end
73
+
74
+ desc "List upcoming meetups you are going to (default command)"
75
+ command :going do |c|
76
+ c.action do
77
+ query_events c.name.to_s
78
+ end
79
+ end
80
+
81
+ desc "List upcoming meetups you are not going to"
82
+ command :notgoing do |c|
83
+ c.action do
84
+ query_events c.name.to_s
85
+ end
86
+ end
87
+
88
+ desc "List upcoming meetups you RSVP'ed (yes or no) to"
64
89
  command :upcoming do |c|
65
90
  c.action do
66
- MCLI::get_upcoming_events.each do |event|
67
- print_event_details event
68
- puts
69
- end
91
+ query_events c.name.to_s
92
+ end
93
+ end
94
+
95
+ desc "List past meetups you went to"
96
+ command :went do |c|
97
+ c.action do
98
+ query_events c.name.to_s
99
+ end
100
+ end
101
+
102
+ desc "List past meetups you didn't go to"
103
+ command :didntgo do |c|
104
+ c.action do
105
+ query_events c.name.to_s
70
106
  end
71
107
  end
72
108
 
73
- desc "List your past events"
109
+ desc "List past meetups you RSVP'ed (yes or no) to"
74
110
  command :past do |c|
75
111
  c.action do
76
- MCLI::get_past_events.each do |event|
77
- print_event_details event
78
- puts
79
- end
112
+ query_events c.name.to_s
80
113
  end
81
114
  end
82
115
 
@@ -7,14 +7,30 @@ module MCLI
7
7
  end
8
8
  end
9
9
 
10
- #
11
- # https://www.meetup.com/meetup_api/docs/2/events/
10
+ # Meetup API docs: https://www.meetup.com/meetup_api/docs/2/events/
12
11
 
13
- def self.get_upcoming_events
12
+ def self.get_going_events
14
13
  api = init_api.fetch(:events, {member_id: 'self', rsvp: 'yes'})
15
14
  end
16
15
 
16
+ def self.get_notgoing_events
17
+ api = init_api.fetch(:events, {member_id: 'self', rsvp: 'no'})
18
+ end
19
+
20
+ def self.get_upcoming_events
21
+ api = init_api.fetch(:events, {member_id: 'self'})
22
+ end
23
+
24
+ def self.get_went_events
25
+ api = init_api.fetch(:events, {member_id: 'self', status: 'past', desc: 'true', rsvp: 'yes'})
26
+ end
27
+
28
+ def self.get_didntgo_events
29
+ api = init_api.fetch(:events, {member_id: 'self', status: 'past', desc: 'true', rsvp: 'no'})
30
+ end
31
+
17
32
  def self.get_past_events
18
- api = init_api.fetch(:events, {member_id: 'self', rsvp: 'yes', status: 'past', desc: 'true'})
33
+ # Unlike upcoming events, does not return valid results if 'rsvp' value is not explicitly specified
34
+ api = init_api.fetch(:events, {member_id: 'self', status: 'past', desc: 'true', rsvp: 'yes,no'})
19
35
  end
20
36
  end
@@ -1,3 +1,3 @@
1
1
  module MCLI
2
- VERSION = '1.1.0'
2
+ VERSION = '2.0.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meetup-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ildar Sagdejev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-10-23 00:00:00.000000000 Z
11
+ date: 2017-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gli