twido 0.0.1.beta → 0.0.1

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.
Files changed (4) hide show
  1. data/bin/twido +6 -0
  2. data/lib/twido.rb +73 -2
  3. data/lib/twido/version.rb +1 -1
  4. metadata +5 -5
data/bin/twido CHANGED
@@ -34,6 +34,12 @@ class App
34
34
  Twido.setup
35
35
  when :task, :t
36
36
  Twido.task
37
+ when :group, :g
38
+ Twido.group
39
+ when :group_complete, :gc
40
+ Twido.group_complete
41
+ when :group_task, :gt
42
+ Twido.group_task
37
43
  else
38
44
  puts "ERROR: ACTION NOT RECONIZED"
39
45
  end
data/lib/twido.rb CHANGED
@@ -18,6 +18,7 @@ require "twido/version"
18
18
  require "twitter"
19
19
  require "twido/authentication"
20
20
  require "highline/import"
21
+ require "yaml"
21
22
 
22
23
  module Twido
23
24
  # Public: authenticates the user using the authenticate method of the Authentication module
@@ -107,7 +108,6 @@ module Twido
107
108
  # Have a good and productive day!
108
109
  def self.complete
109
110
  twitter_client = Authentication.authenticate
110
- user = twitter_client.user.screen_name
111
111
  tweets = self.build_list
112
112
  self.list
113
113
  complete_index = ask("Enter task ID: ")
@@ -136,7 +136,7 @@ module Twido
136
136
  twitter_client.update(task)
137
137
  end
138
138
 
139
- # private: Gets a lsit of tweets with hash tag #todo
139
+ # Private: Gets a list of tweets with "#todo"
140
140
  # Retruns Array of tweets
141
141
  # Examples
142
142
  # self.build_list
@@ -146,4 +146,75 @@ module Twido
146
146
  user = twitter_client.user.screen_name
147
147
  twitter_client.search("#todo", count: count, from:user).statuses
148
148
  end
149
+
150
+ # Public: Gets list of tweets with the hash tag #"group"_todo
151
+ # Returns Array of tweets
152
+ # Examples
153
+ # self.group
154
+ # #=> [tweet1, tweet2,...]
155
+ def self.group(count = 20)
156
+ twitter_client = Authentication.authenticate
157
+ group_name = ask("Enter group name: ") + "_todo"
158
+ tweets = twitter_client.search(group_name, count: count).statuses
159
+ tweets.each_with_index { |tweet, index| puts "[#{index}] #{tweet.text}" }
160
+ end
161
+
162
+ # Public: removes a task from the specified group's to do list by deleting the tweet and confirming authorship
163
+ # Returns a string stating if task was completed or not
164
+ # Examples
165
+ #
166
+ # self.group_complete
167
+ # # => [0] Task #todo
168
+ # [1] Task2 #todo
169
+ # Enter task ID:
170
+ # 1
171
+ # Are you sure you completed this task?:
172
+ # y
173
+ # TASK COMPLETED
174
+ # self.group_complete
175
+ # # => [0] Task #todo
176
+ # [1] Task2 #todo
177
+ # Enter task ID:
178
+ # 0
179
+ # Are you sure you completed this task?:
180
+ # n
181
+ # Have a good and productive day!
182
+ def self.group_complete
183
+ twitter_client = Authentication.authenticate
184
+ tweets = self.group
185
+ complete_index = ask("Enter task ID: ")
186
+ complete = Integer(complete_index)
187
+ tweet_id = tweets[complete].id
188
+ author = twitter_client.status(tweet_id,{"trim_user" => true})
189
+ user = twitter_client.user
190
+ confirm = ask("Are you sure you completed this task?: ")
191
+ case confirm.downcase.to_sym
192
+ when :no, :n
193
+ puts "Have a good and productive day!"
194
+ when :yes, :y
195
+ confirm = ask("Is this your tweet?: ")
196
+ case confirm.downcase.to_sym
197
+ when :yes, :y
198
+ twitter_client.status_destroy(tweet_id)
199
+ puts "TASK COMPLETED"
200
+ when :no, :n
201
+ twitter_client.update(" Task completed please delete task", {"in_reply_to_status_id" => tweet_id})
202
+ end
203
+ end
204
+ end
205
+
206
+ # Public: adds a task to the specified group's todo list by tweeting a tweet that the user defines and automaticly adds the "#group_name_todo" to the end
207
+ # Returns nil
208
+ # Examples
209
+ #
210
+ # self.group_task
211
+ # # => What do you have to do?:
212
+ # task
213
+ def self.group_task
214
+ twitter_client = Authentication.authenticate
215
+ group_name = ask("Enter group name: ") + "_todo"
216
+ task = ask("What do you have to do?: ") + " #" + group_name
217
+ twitter_client.update(task)
218
+ end
219
+
149
220
  end
data/lib/twido/version.rb CHANGED
@@ -15,5 +15,5 @@
15
15
  # along with Twido. If not, see <http://www.gnu.org/licenses/>.
16
16
 
17
17
  module Twido
18
- VERSION = "0.0.1.beta"
18
+ VERSION = "0.0.1"
19
19
  end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twido
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.beta
5
- prerelease: 6
4
+ version: 0.0.1
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Cody Finn
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-14 00:00:00.000000000 Z
12
+ date: 2013-04-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rdoc
@@ -162,9 +162,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
162
  required_rubygems_version: !ruby/object:Gem::Requirement
163
163
  none: false
164
164
  requirements:
165
- - - ! '>'
165
+ - - ! '>='
166
166
  - !ruby/object:Gem::Version
167
- version: 1.3.1
167
+ version: '0'
168
168
  requirements: []
169
169
  rubyforge_project:
170
170
  rubygems_version: 1.8.23