augury 1.0.0 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dde4ab6e3cfe2e7942e603cecbd45b49c74080b37923bdc050426e769ce9241b
4
- data.tar.gz: e820b4fee8dba782143f93ac761d1bbdee9743e82108425d32c864d19255cb6d
3
+ metadata.gz: c20cb6d68923a886d955dc7f94305b9f59acb06991e96112170b933c4dbf56ae
4
+ data.tar.gz: 29a140a75cb40148ac27955ccfb489e322f79a54e9f735933e67dc0f291588b7
5
5
  SHA512:
6
- metadata.gz: 4ebf89891a5f7b535aa8fe76fd1b08e055fde4530e326442743741c0476842c65440361cc651672509d6ca56ec3236ba60b70d1a9e613b76e83e30c4631c5411
7
- data.tar.gz: afc5e614422f71e30e8e16492eb7679d2d659759a7adad9d2d506648e2c01410c90c6d73851fbe9ae035ad3cf04f75c44f179470ffa8633a85fb8f05d9d40118
6
+ metadata.gz: 81038a2cd623f5a7ba2ba9e38bcceb104b301a90276e71f4eaa2a37152f49ffa45cae9d01e83a0ec1142401d1a006cb4cca348efe3c2ace6d2c57bd99555b0b2
7
+ data.tar.gz: 24ddd1018b9ff51169a2c8dd6d76e43623e84fac2a19a3161ee96b1947829967c586c46b41fac222aa8befa7a22d3d280da5645ffd05f898f75cf3ca7d8b2abc
data/.codeclimate.yml CHANGED
@@ -8,6 +8,3 @@ plugins:
8
8
  ratings:
9
9
  paths:
10
10
  - "**.rb"
11
- exclude_paths:
12
- - features/**/*
13
- - spec/**/*
data/.gitignore CHANGED
@@ -1,13 +1,63 @@
1
- /.bundle/
2
- /vendor/
3
- /.yardoc
4
- /_yardoc/
1
+ # gem sets
2
+ /gems/
3
+
4
+ # rspec failure tracking
5
+ .rspec_status
6
+
7
+ # Ruby.gitignore
8
+ *.gem
9
+ *.rbc
10
+ /.config
5
11
  /coverage/
6
- /doc/
12
+ /InstalledFiles
7
13
  /pkg/
8
14
  /spec/reports/
15
+ /spec/examples.txt
16
+ /test/tmp/
17
+ /test/version_tmp/
9
18
  /tmp/
10
- /bin/*
11
19
 
12
- # rspec failure tracking
13
- .rspec_status
20
+ # Used by dotenv library to load environment variables.
21
+ # .env
22
+
23
+ # Ignore Byebug command history file.
24
+ .byebug_history
25
+
26
+ ## Specific to RubyMotion:
27
+ .dat*
28
+ .repl_history
29
+ build/
30
+ *.bridgesupport
31
+ build-iPhoneOS/
32
+ build-iPhoneSimulator/
33
+
34
+ ## Specific to RubyMotion (use of CocoaPods):
35
+ #
36
+ # We recommend against adding the Pods directory to your .gitignore. However
37
+ # you should judge for yourself, the pros and cons are mentioned at:
38
+ # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
39
+ #
40
+ # vendor/Pods/
41
+
42
+ ## Documentation cache and generated files:
43
+ /.yardoc/
44
+ /_yardoc/
45
+ /doc/
46
+ /rdoc/
47
+
48
+ ## Environment normalization:
49
+ /.bundle/
50
+ /vendor/bundle
51
+ /lib/bundler/man/
52
+
53
+ # for a library or gem, you might want to ignore these files since the code is
54
+ # intended to run in multiple environments; otherwise, check them in:
55
+ # Gemfile.lock
56
+ # .ruby-version
57
+ # .ruby-gemset
58
+
59
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
60
+ .rvmrc
61
+
62
+ # Used by RuboCop. Remote config files pulled in from inherit_from directive.
63
+ # .rubocop-https?--*
data/.rbenv-gemsets ADDED
@@ -0,0 +1 @@
1
+ ./gems
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ augury
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.7.2
data/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Changes
2
2
 
3
+ ## 1.1.1 (2020-02-13)
4
+
5
+ - Fix attribution on last item
6
+ - More test coverage for formatting
7
+ - Add hidden debug option
8
+
9
+ ## 1.1.0 (2020-01-24)
10
+
11
+ - Add ability to transform tweet text with find / replace
12
+ - Get full text of tweets, not the default abbreviated version
13
+ - Switch to better word wrapping library
14
+
15
+ ## 1.0.3 (2020-01-23)
16
+
17
+ - Pin Thor version to avoid issue with `options` override
18
+ - Add tests for `Augury::CLI`
19
+
20
+ ## 1.0.2 (2020-01-09)
21
+
22
+ - Fix bug with specific tweet count retrieval
23
+
24
+ ## 1.0.1 (2020-01-08)
25
+
26
+ - Remove unused gem
27
+
3
28
  ## 1.0.0 (2020-01-08)
4
29
 
5
30
  - Convert augury config from ini style to yaml (breaking change)
data/Gemfile CHANGED
@@ -17,6 +17,7 @@ gem 'webmock'
17
17
  gem 'pry'
18
18
  gem 'pry-awesome_print'
19
19
  gem 'pry-byebug'
20
+ gem 'pry-doc'
20
21
 
21
22
  # Linting / completion
22
23
  gem 'rubocop', '0.92'
data/Gemfile.lock CHANGED
@@ -1,18 +1,17 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- augury (1.0.0)
5
- equalizer (~> 0.0)
6
- facets (~> 3.0)
7
- thor (~> 1.0)
4
+ augury (1.1.0)
5
+ thor (~> 1.0.0)
8
6
  twitter (~> 7.0)
7
+ word_wrap (~> 1.0)
9
8
 
10
9
  GEM
11
10
  remote: https://rubygems.org/
12
11
  specs:
13
12
  addressable (2.7.0)
14
13
  public_suffix (>= 2.0.2, < 5.0)
15
- ast (2.4.1)
14
+ ast (2.4.2)
16
15
  awesome_print (1.8.0)
17
16
  backport (1.1.2)
18
17
  benchmark (0.1.1)
@@ -22,12 +21,11 @@ GEM
22
21
  crack (0.4.5)
23
22
  rexml
24
23
  diff-lcs (1.4.4)
25
- docile (1.3.4)
24
+ docile (1.3.5)
26
25
  domain_name (0.5.20190701)
27
26
  unf (>= 0.0.5, < 1.0.0)
28
27
  e2mmap (0.1.0)
29
28
  equalizer (0.0.11)
30
- facets (3.1.0)
31
29
  ffi (1.14.2)
32
30
  ffi-compiler (1.0.1)
33
31
  ffi (>= 1.0.0)
@@ -41,8 +39,8 @@ GEM
41
39
  http-cookie (1.0.3)
42
40
  domain_name (~> 0.5)
43
41
  http-form_data (2.3.0)
44
- http-parser (1.2.2)
45
- ffi-compiler
42
+ http-parser (1.2.3)
43
+ ffi-compiler (>= 1.0, < 2.0)
46
44
  http_parser.rb (0.6.0)
47
45
  jaro_winkler (1.5.4)
48
46
  kramdown (2.3.0)
@@ -59,7 +57,7 @@ GEM
59
57
  mini_portile2 (~> 2.5.0)
60
58
  racc (~> 1.4)
61
59
  parallel (1.20.1)
62
- parser (2.7.2.0)
60
+ parser (3.0.0.0)
63
61
  ast (~> 2.4.1)
64
62
  pry (0.13.1)
65
63
  coderay (~> 1.1)
@@ -70,6 +68,9 @@ GEM
70
68
  pry-byebug (3.9.0)
71
69
  byebug (~> 11.0)
72
70
  pry (~> 0.13.0)
71
+ pry-doc (1.1.0)
72
+ pry (~> 0.11)
73
+ yard (~> 0.9.11)
73
74
  public_suffix (4.0.6)
74
75
  racc (1.5.2)
75
76
  rainbow (3.0.0)
@@ -100,7 +101,7 @@ GEM
100
101
  rubocop-ast (>= 0.5.0)
101
102
  ruby-progressbar (~> 1.7)
102
103
  unicode-display_width (>= 1.4.0, < 2.0)
103
- rubocop-ast (1.4.0)
104
+ rubocop-ast (1.4.1)
104
105
  parser (>= 2.7.1.5)
105
106
  rubocop-rake (0.5.1)
106
107
  rubocop
@@ -109,13 +110,13 @@ GEM
109
110
  rubocop-ast (>= 0.7.1)
110
111
  ruby-progressbar (1.11.0)
111
112
  simple_oauth (0.3.1)
112
- simplecov (0.21.1)
113
+ simplecov (0.21.2)
113
114
  docile (~> 1.1)
114
115
  simplecov-html (~> 0.11)
115
116
  simplecov_json_formatter (~> 0.1)
116
117
  simplecov-html (0.12.3)
117
118
  simplecov_json_formatter (0.1.2)
118
- solargraph (0.40.1)
119
+ solargraph (0.40.2)
119
120
  backport (~> 1.1)
120
121
  benchmark
121
122
  bundler (>= 1.17.2)
@@ -123,7 +124,7 @@ GEM
123
124
  jaro_winkler (~> 1.5)
124
125
  kramdown (~> 2.3)
125
126
  kramdown-parser-gfm (~> 1.1)
126
- parser (~> 2.3)
127
+ parser (~> 3.0)
127
128
  reverse_markdown (>= 1.0.5, < 3)
128
129
  rubocop (>= 0.52)
129
130
  thor (~> 1.0)
@@ -148,10 +149,11 @@ GEM
148
149
  unf_ext (0.0.7.7)
149
150
  unicode-display_width (1.7.0)
150
151
  vcr (6.0.0)
151
- webmock (3.11.0)
152
+ webmock (3.11.1)
152
153
  addressable (>= 2.3.6)
153
154
  crack (>= 0.3.2)
154
155
  hashdiff (>= 0.4.0, < 2.0.0)
156
+ word_wrap (1.0.0)
155
157
  yard (0.9.26)
156
158
 
157
159
  PLATFORMS
@@ -162,6 +164,7 @@ DEPENDENCIES
162
164
  pry
163
165
  pry-awesome_print
164
166
  pry-byebug
167
+ pry-doc
165
168
  rake
166
169
  rspec (~> 3.0)
167
170
  rubocop (= 0.92)
data/README.md CHANGED
@@ -81,14 +81,14 @@ $ brew install fortune
81
81
 
82
82
  ### Augury Config
83
83
 
84
- Create the `~/.augry.cfg` file and then set the permissions since your Twitter API info will be in there.
84
+ Create the `~/.augry.yml` file and then set the permissions since your Twitter API info will be in there.
85
85
 
86
86
  ```sh
87
- $ touch ~/.augury.cfg
88
- $ chmod 600 ~/.augury.cfg
87
+ $ touch ~/.augury.yml
88
+ $ chmod 600 ~/.augury.yml
89
89
  ```
90
90
 
91
- Set any of these settings in the `augury` section of the config like this:
91
+ Set any of the available settings in the config like this:
92
92
 
93
93
  ```yaml
94
94
  count: 20
@@ -107,7 +107,11 @@ Option | Description | Default
107
107
  `retweets` | Include retweets. | `false`
108
108
  `replies` | Include replies. | `false`
109
109
  `links` | Include tweets with links in them. | `false`
110
+ `remove_links` | Remove all links from tweets before any other `transforms`. If set, this infers `links` is `true`. | `false`
110
111
  `attribution` | Add an author attribution to each fortune. | `false`
112
+ `apply_transforms` | Apply the global and feed specific transforms. | `false`
113
+ `transforms` | Transformations to apply to specific user feeds. See [Transforms](#transforms) below. |
114
+ `global-transforms` | Transformations to apply to all feeds. Applied after `transforms` See [Transforms](#transforms) below. |
111
115
 
112
116
  ### Twitter Setup
113
117
 
@@ -126,6 +130,65 @@ twitter:
126
130
  access_token_secret: YOUR_ACCESS_TOKEN_SECRET
127
131
  ```
128
132
 
133
+ ### Transforms
134
+
135
+ Global substitutions can be made using regular expressions.
136
+ Each transform is a pattern and replacement.
137
+ For instance, if you wanted to replace all `Hello`'s with `Hello world`, you could add the following:
138
+
139
+ ```yaml
140
+ global-transforms:
141
+ -
142
+ - !ruby/regexp /(hello)/i
143
+ - "\\1 world"
144
+ ```
145
+
146
+ Global transforms are applied after all other `transforms`.
147
+ Word wrapping is applied after the transforms have been applied.
148
+
149
+ #### Feed specific
150
+
151
+ Transforms can also be defined per user feed.
152
+ If you wanted to do the same as the global above, but only for `seinfeldtoday`, then add the following:
153
+
154
+ ```yaml
155
+ transforms:
156
+ seinfeldtoday:
157
+ -
158
+ - !ruby/regexp /(hello)/i
159
+ - "\\1 world"
160
+ ```
161
+
162
+ Or a more interesting example using the example earlier for `seinfeldtoday`:
163
+
164
+ ```text
165
+ Elaine has no idea what her BF does for a living and it's now too
166
+ late to ask. E:"Teacher, I think. Or a doctor? Wait Is
167
+ 'computers' a job?"
168
+ ```
169
+
170
+ Then add the following to make this a bit more readable:
171
+
172
+ ```yaml
173
+ transforms:
174
+ seinfeldtoday:
175
+ -
176
+ - !ruby/regexp /(E:\s*)/
177
+ - "\n\nElaine: "
178
+ -
179
+ - !ruby/regexp /BF/
180
+ - "boyfriend"
181
+ ```
182
+
183
+ Then we end up with this:
184
+
185
+ ```text
186
+ Elaine has no idea what her boyfriend does for a living and it's now
187
+ too late to ask.
188
+
189
+ Elaine: "Teacher, I think. Or a doctor? Wait Is 'computers' a job?"
190
+ ```
191
+
129
192
  ## Usage
130
193
 
131
194
  Create a fortune for the latest *seinfeldtoday* tweets.
@@ -201,7 +264,21 @@ $ bundle exec ruby exe/augury help
201
264
  You can run the tests with the rake task:
202
265
 
203
266
  ```sh
204
- $ bundle exec rake spec
267
+ $ bundle exec rspec
268
+ ```
269
+
270
+ #### Twitter ENV
271
+
272
+ If you need to record a test with the Twitter API, you can set up the proper env vars by getting them from your currently set up `augury.yml` file.
273
+
274
+ ```sh
275
+ $ eval `bin/extract_creds`
276
+ ```
277
+
278
+ Then run the tests as you normally would.
279
+
280
+ ```sh
281
+ $ bundle exec rspec
205
282
  ```
206
283
 
207
284
  ## Contributing
data/augury.gemspec CHANGED
@@ -20,9 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ['lib']
21
21
 
22
22
  # Actual dependencies
23
- spec.add_dependency 'thor', '~>1.0'
23
+ spec.add_dependency 'thor', '~>1.0.0'
24
24
  spec.add_dependency 'twitter', '~>7.0'
25
25
  ## For the word_wrap function
26
- spec.add_dependency 'equalizer', '~>0.0'
27
- spec.add_dependency 'facets', '~>3.0'
26
+ spec.add_dependency 'word_wrap', '~>1.0'
28
27
  end
data/bin/console ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "augury"
5
+ # Load up the cli here as well
6
+ require "augury/cli"
7
+
8
+ # You can add fixtures and/or initialization code here to make experimenting
9
+ # with your gem easier. You can also use a different console, if you like.
10
+
11
+ require "pry"
12
+ Pry.start
data/bin/extract_creds ADDED
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'yaml'
5
+
6
+ begin
7
+ augury_config = YAML.load_file(File.expand_path('~/.augury.yml'))
8
+ puts augury_config['twitter'].collect { |k, v| "export TWITTER_#{k.upcase}=#{v}" }.join("\n")
9
+ rescue Errno::ENOENT
10
+ puts 'echo "No config file present (~/.augury.yml) no env vars set"'
11
+ exit 1
12
+ end
data/bin/setup ADDED
@@ -0,0 +1,5 @@
1
+ #!/bin/bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+
5
+ bundle install --binstubs
data/lib/augury/cli.rb CHANGED
@@ -16,7 +16,7 @@ module Augury
16
16
  option :append,
17
17
  type: :boolean,
18
18
  aliases: '-a',
19
- desc: 'If set, the target path will be appended to instead of overwritten'
19
+ desc: 'If set, the target path will be appended to instead of overwritten. DEFAULT: false'
20
20
 
21
21
  option :count,
22
22
  type: :numeric,
@@ -38,11 +38,26 @@ module Augury
38
38
  aliases: '-l',
39
39
  desc: 'Include tweets with links in them. DEFAULT: false'
40
40
 
41
+ option :remove_links,
42
+ type: :boolean,
43
+ aliases: '--remove-links',
44
+ desc: 'Remove links from tweets. DEFAULT: false'
45
+
41
46
  option :attribution,
42
47
  type: :boolean,
43
48
  aliases: '-A',
44
49
  desc: 'Add an author attribution to each fortune. DEFAULT: false'
45
50
 
51
+ option :apply_transforms,
52
+ type: :boolean,
53
+ aliases: '-t',
54
+ desc: 'Apply transforms from config file. DEFAULT: false'
55
+
56
+ option :debug,
57
+ type: :boolean,
58
+ aliases: '-d',
59
+ hide: true
60
+
46
61
  def generate(username, *path)
47
62
  path = File.expand_path(path[0] || username)
48
63
  augury = Augury::Fortune.new(username, path, options)
@@ -53,6 +68,7 @@ module Augury
53
68
  rescue StandardError => e
54
69
  say 'There was an error running the command. Details below:'
55
70
  say e.message
71
+ puts e.backtrace if options[:debug]
56
72
  exit 1
57
73
  end
58
74
 
@@ -63,21 +79,19 @@ module Augury
63
79
  defaults = Thor::CoreExt::HashWithIndifferentAccess.new(
64
80
  {
65
81
  width: 72,
66
- append: false,
67
82
  count: 200,
68
- retweets: false,
69
- replies: false,
70
- links: false,
71
- attribution: false,
72
83
  },
73
84
  )
74
85
 
75
- config_path = File.expand_path('~/.augury.yml')
86
+ config_path = File.expand_path(ENV.fetch('AUGURY_CFG_PATH', '~/.augury.yml'))
76
87
  if File.file?(config_path)
77
88
  config_options = Thor::CoreExt::HashWithIndifferentAccess.new(YAML.load_file(config_path) || {})
78
89
  defaults = defaults.merge(config_options)
79
90
  end
80
91
 
92
+ # Enforce implied options
93
+ defaults[:links] = true if original_options[:remove_links] || defaults[:remove_links]
94
+
81
95
  Thor::CoreExt::HashWithIndifferentAccess.new(defaults.merge(original_options))
82
96
  end
83
97
  end
@@ -6,4 +6,10 @@ module Augury
6
6
  'No twitter credential configuration found in the augury config'
7
7
  end
8
8
  end
9
+
10
+ class TransformError < StandardError
11
+ def message
12
+ 'Augury transforms are invalid, check your configuration'
13
+ end
14
+ end
9
15
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'cgi'
4
- require 'facets/string/word_wrap'
4
+ require 'word_wrap'
5
5
  require 'twitter'
6
6
 
7
7
  module Augury
@@ -17,23 +17,25 @@ module Augury
17
17
  response = yield(max_id)
18
18
  collection += response
19
19
  if response.empty?
20
- collection.flatten
20
+ collection
21
21
  elsif !@config[:count].zero? && collection.length >= @config[:count]
22
- collection.flatten
22
+ # Get everything or trim the results to the count
23
+ @config[:count].zero? ? collection : collection[0..@config[:count] - 1]
23
24
  else
24
25
  collect_with_max_id(collection, response.last.id - 1, &block)
25
26
  end
26
27
  end
27
28
 
28
29
  def retrieve_tweets
29
- collect_with_max_id do |max_id|
30
+ @tweets = collect_with_max_id do |max_id|
30
31
  options = {
31
- count: @config[:count].zero? ? 200 : @config[:count],
32
+ count: 200,
33
+ tweet_mode: 'extended',
32
34
  include_rts: @config[:retweets],
33
35
  exclude_replies: !@config[:replies],
34
36
  }
35
37
  options[:max_id] = max_id unless max_id.nil?
36
- @tweets = @twitter.user_timeline(@username, options)
38
+ @twitter.user_timeline(@username, options)
37
39
  end
38
40
  rescue Twitter::Error::TooManyRequests => e
39
41
  reset_length = e.rate_limit.reset_in + 1
@@ -45,9 +47,17 @@ module Augury
45
47
  filtered = @tweets.flat_map(&:full_text).reject do |tweet|
46
48
  tweet.match(/https?:/) unless @config[:links]
47
49
  end
48
- formatted = filtered.flat_map { |tweet| CGI.unescapeHTML(tweet).word_wrap(@config[:width]) }
50
+ to_transform = transforms
51
+ formatted = filtered.flat_map do |tweet|
52
+ text = CGI.unescapeHTML(tweet)
53
+ to_transform.each do |transform|
54
+ text.gsub!(transform[0], transform[1])
55
+ end
56
+ WordWrap.ww text, @config.fetch(:width, 72)
57
+ end
49
58
  author = @config[:attribution] ? "\n-- #{@twitter.user(@username).name}\n" : ''
50
- formatted.join("#{author}%\n")
59
+ text = formatted.join("#{author}%\n")
60
+ text + author if author
51
61
  end
52
62
 
53
63
  def write_fortune
@@ -74,5 +84,28 @@ module Augury
74
84
  cfg.access_token_secret = @config[:twitter]['access_token_secret']
75
85
  end
76
86
  end
87
+
88
+ private
89
+
90
+ def transforms
91
+ all_transforms = []
92
+ all_transforms << [/https?:\/\/[^\s]+/, ''] if @config[:remove_links]
93
+ return all_transforms unless @config[:apply_transforms]
94
+
95
+ all_transforms.push(*@config.dig('transforms', @username) || [])
96
+ all_transforms.push(*@config.fetch('global-transforms', []))
97
+
98
+ raise Augury::TransformError unless validate_transforms(all_transforms)
99
+
100
+ all_transforms
101
+ end
102
+
103
+ def validate_transforms(all_transforms)
104
+ all_transforms.all? do |transform|
105
+ transform.count == 2 &&
106
+ [String, Regexp].include?(transform[0].class) &&
107
+ transform[1].is_a?(String)
108
+ end
109
+ end
77
110
  end
78
111
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Augury
4
- VERSION = '1.0.0'
4
+ VERSION = '1.1.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: augury
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clayton Parker
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-01-08 00:00:00.000000000 Z
11
+ date: 2021-02-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: 1.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: 1.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: twitter
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,33 +39,19 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '7.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: equalizer
42
+ name: word_wrap
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '0.0'
55
- - !ruby/object:Gem::Dependency
56
- name: facets
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '3.0'
47
+ version: '1.0'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '3.0'
54
+ version: '1.0'
69
55
  description: This gem turns a twitter feed into a fortune file that you can use with
70
56
  the fortune program
71
57
  email:
@@ -77,8 +63,11 @@ extra_rdoc_files: []
77
63
  files:
78
64
  - ".codeclimate.yml"
79
65
  - ".gitignore"
66
+ - ".rbenv-gemsets"
80
67
  - ".rspec"
81
68
  - ".rubocop.yml"
69
+ - ".ruby-gemset"
70
+ - ".ruby-version"
82
71
  - ".solargraph.yml"
83
72
  - ".travis.yml"
84
73
  - CHANGELOG.md
@@ -87,9 +76,9 @@ files:
87
76
  - LICENSE.txt
88
77
  - README.md
89
78
  - Rakefile
90
- - TODO.md
91
79
  - augury.gemspec
92
80
  - bin/console
81
+ - bin/extract_creds
93
82
  - bin/setup
94
83
  - exe/augury
95
84
  - lib/augury.rb
@@ -101,7 +90,7 @@ homepage: https://github.com/claytron/augury
101
90
  licenses:
102
91
  - MIT
103
92
  metadata: {}
104
- post_install_message:
93
+ post_install_message:
105
94
  rdoc_options: []
106
95
  require_paths:
107
96
  - lib
@@ -117,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
117
106
  version: '0'
118
107
  requirements: []
119
108
  rubygems_version: 3.1.4
120
- signing_key:
109
+ signing_key:
121
110
  specification_version: 4
122
111
  summary: Turn a twitter feed into a fortune file
123
112
  test_files: []
data/TODO.md DELETED
@@ -1,10 +0,0 @@
1
- # TODO
2
-
3
- Some ideas for things that could be added:
4
-
5
- - Add an option to limit the tweets from a certain date forward.
6
- This would allow for adding the latest tweets via cron.
7
- - Ask user for twitter config on first start, save it out
8
- - Series of regex that could be applied.
9
- This would be a way to make SeinfeldToday dialog get put on their own lines.
10
- - Different word wrapping options. To a width, or by sentence, or whatever.