ebooks 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5b92abdf753365a92607b400fdf303b6e96f5e9a
4
- data.tar.gz: ee4a3d4cd0c3b6ebceb504120f0eda5feb87bcde
3
+ metadata.gz: 1c27c66d737ceb553a92fdf5ff43988e814d9e6c
4
+ data.tar.gz: d3541f051138de3992c20fbb59ab36629954a691
5
5
  SHA512:
6
- metadata.gz: 9934d51b0e7905b64b6c35ec05b4de67a28e20650c117849352b698fde1a33a59e43cf741bed03f060b47d35cc493017ef87e3d0135f7180f272b7494741ec4f
7
- data.tar.gz: e50bc685459f82a615e68cfeef3a55d7dba77ebdecdef419ecce71fb2133a9aae25ef912b86f15e549ac11f0a239c98f5412117c878e93a392d044f010b81785
6
+ metadata.gz: bda3e52be0ba90d94c56c94c435b2a162e503df1fa3760707189fbf32eef15d3859665e32ecdf7f48854475c06ee45b2d92d8e9bb62189f9319f85b5c2867cb1
7
+ data.tar.gz: 1f9f2b58633df4502436a253cf79c7ae39c32c0b48ca3c9ad90f99829c5aa017ace407c36bd0358fbd3479da57e1f6555ba216bbdf563b91e640413f54a7a786
@@ -0,0 +1,3 @@
1
+ ## HEAD
2
+
3
+ * Fix Twitter v5 Integration (#3)
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_runtime_dependency "thread"
22
- spec.add_runtime_dependency "twitter"
22
+ spec.add_runtime_dependency "twitter", "~> 5.0"
23
23
  spec.add_runtime_dependency "marky_markov"
24
24
 
25
25
  spec.add_development_dependency "bundler", "~> 1.3"
@@ -14,37 +14,37 @@ module Ebooks
14
14
  autoload :Generator, 'ebooks/generator'
15
15
  autoload :Twitter, 'ebooks/twitter'
16
16
 
17
- def self.read_config_file(file = '~/.ebooks')
18
- contents = File.read(file.sub('~', ENV["HOME"]))
19
- YAML.load(contents)
17
+ class << self
18
+ def read_config_file(file = '~/.ebooks')
19
+ contents = File.read(file.sub('~', ENV["HOME"]))
20
+ YAML.load(contents)
21
+ end
22
+
23
+ def configuration(overrides = {})
24
+ {
25
+ :tweets_csv_path => 'tweets.csv',
26
+ :corpus_path => 'markov_dict.txt',
27
+ :dictionary_name => 'dictionary', # don't include the .mmd
28
+ :twitter => {
29
+ :consumer_key => '',
30
+ :consumer_secret => '',
31
+ :oauth_token => '',
32
+ :oauth_token_secret => ''
33
+ }
34
+ }.deep_merge(overrides)
35
+ end
36
+
37
+ def generate(overrides = {})
38
+ config = configuration(overrides)
39
+ generator = Ebooks::Generator.new(config)
40
+
41
+ generator.generate_sentence
42
+ end
43
+
44
+ def tweet(overrides = {})
45
+ config = configuration(overrides)
46
+ Ebooks::Twitter.new(config[:twitter]).tweet(generate(overrides))
47
+ end
20
48
  end
21
49
 
22
- def self.configuration(overrides = {})
23
- {
24
- :tweets_csv_path => 'tweets.csv',
25
- :corpus_path => 'markov_dict.txt',
26
- :dictionary_name => 'dictionary', # don't include the .mmd
27
- :twitter => {
28
- :consumer_key => '',
29
- :consumer_secret => '',
30
- :oauth_token => '',
31
- :oauth_token_secret => ''
32
- }
33
- }.deep_merge(overrides)
34
- end
35
-
36
- def self.generate(overrides = {})
37
- config = self.configuration(overrides)
38
- generator = Ebooks::Generator.new(config)
39
-
40
- generator.generate_sentence
41
- end
42
-
43
- def self.tweet(overrides = {})
44
- config = self.configuration(overrides)
45
-
46
- sentence = self.generate(overrides)
47
-
48
- Ebooks::Twitter.new(config[:twitter]).tweet(sentence)
49
- end
50
50
  end
@@ -14,11 +14,11 @@ module Ebooks
14
14
  def generate_twitter_corpus
15
15
  # Go to Twitter.com -> Settings -> Download Archive.
16
16
  # This tweets.csv file is in the top directory. Put it in the same directory as this script.
17
- csv_text = CSV.parse(File.read(@tweets_csv_path))
17
+ csv_text = CSV.read(@tweets_csv_path)
18
18
 
19
19
  # Create a new clean file of text that acts as the seed for your Markov chains
20
20
  File.open(@corpus_path, 'w') do |file|
21
- csv_text.reverse.each do |row|
21
+ csv_text.reverse_each do |row|
22
22
  # Strip links and new lines
23
23
  tweet_text = row[5].gsub(/(?:f|ht)tps?:\/[^\s]+/, '').gsub(/\n/,' ')
24
24
  # Save the text
@@ -6,20 +6,21 @@ module Ebooks
6
6
  @consumer_secret = credentials.fetch(:consumer_secret)
7
7
  @access_token = credentials.fetch(:oauth_token)
8
8
  @access_token_secret = credentials.fetch(:oauth_token_secret)
9
+ end
9
10
 
10
- ::Twitter.configure do |config|
11
- config.consumer_key = @consumer_key
12
- config.consumer_secret = @consumer_secret
11
+ def twitter_client
12
+ ::Twitter::REST::Client.new do |config|
13
+ config.consumer_key = @consumer_key
14
+ config.consumer_secret = @consumer_secret
15
+ config.access_token = @access_token
16
+ config.access_token_secret = @access_token_secret
13
17
  end
14
18
  end
15
19
 
16
20
  def tweet(tweet_text)
17
- twitter_client = ::Twitter::Client.new(:oauth_token => @access_token,
18
- :oauth_token_secret => @access_token_secret)
19
21
  tweet_text = tweet_text.gsub('@', '')[0..139]
20
22
  p "#{Time.now}: #{tweet_text}"
21
23
  twitter_client.update(tweet_text)
22
24
  end
23
-
24
25
  end
25
26
  end
@@ -1,3 +1,3 @@
1
1
  module Ebooks
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebooks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Parker Moore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-25 00:00:00.000000000 Z
11
+ date: 2014-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thread
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '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
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: twitter
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '5.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '5.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: marky_markov
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.3'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.3'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: Generate your own horse_ebooks for fun and for profit
@@ -88,8 +88,9 @@ executables:
88
88
  extensions: []
89
89
  extra_rdoc_files: []
90
90
  files:
91
- - .gitignore
91
+ - ".gitignore"
92
92
  - Gemfile
93
+ - History.markdown
93
94
  - LICENSE.txt
94
95
  - README.md
95
96
  - Rakefile
@@ -110,17 +111,17 @@ require_paths:
110
111
  - lib
111
112
  required_ruby_version: !ruby/object:Gem::Requirement
112
113
  requirements:
113
- - - '>='
114
+ - - ">="
114
115
  - !ruby/object:Gem::Version
115
116
  version: '0'
116
117
  required_rubygems_version: !ruby/object:Gem::Requirement
117
118
  requirements:
118
- - - '>='
119
+ - - ">="
119
120
  - !ruby/object:Gem::Version
120
121
  version: '0'
121
122
  requirements: []
122
123
  rubyforge_project:
123
- rubygems_version: 2.0.3
124
+ rubygems_version: 2.2.2
124
125
  signing_key:
125
126
  specification_version: 4
126
127
  summary: horse_ebooks with and without twitter