twog 0.3.0 → 0.3.5
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 +7 -0
- data/.github/workflows/ruby.yml +20 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +16 -0
- data/Gemfile.lock +120 -0
- data/History.rdoc +35 -4
- data/LICENSE +3 -1
- data/README.md +77 -0
- data/Rakefile +15 -20
- data/VERSION.yml +3 -3
- data/bin/twog +36 -14
- data/lib/twog.rb +31 -21
- data/lib/twog/blog_posts_handler.rb +9 -7
- data/lib/twog/post.rb +23 -0
- data/lib/twog/rss_entry_to_twog_post_mapper.rb +7 -0
- data/lib/twog/rss_parser.rb +11 -9
- data/lib/twog/twitter_handler.rb +32 -44
- data/spec/spec_helper.rb +63 -59
- data/spec/twog/blog_posts_handler_spec.rb +38 -0
- data/spec/twog/post_spec.rb +77 -0
- data/spec/twog/rss_entry_to_twog_post_mapper_spec.rb +32 -0
- data/spec/twog/rss_parser_spec.rb +17 -0
- data/spec/{twitter_handler_spec.rb → twog/twitter_handler_spec.rb} +25 -27
- data/spec/twog/twog_spec.rb +43 -0
- data/twog.gemspec +64 -56
- metadata +170 -85
- data/.gitignore +0 -3
- data/README.textile +0 -49
- data/spec/blog_posts_handler_spec.rb +0 -33
- data/spec/rss_parser_spec.rb +0 -18
- data/spec/twog_spec.rb +0 -40
@@ -0,0 +1,32 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
2
|
+
|
3
|
+
describe RssEntryToTwogPostMapper do
|
4
|
+
include RssEntryToTwogPostMapper
|
5
|
+
|
6
|
+
it "should convert rss entries that have updated.content and link.href" do
|
7
|
+
updated = double('update', content: '2010-04-02T01:00:00-06:00')
|
8
|
+
link = double('link', href: 'http://tinyurl.com')
|
9
|
+
post = double('post', updated: updated, link: link)
|
10
|
+
|
11
|
+
posts = (0..20).collect { |x| post }
|
12
|
+
|
13
|
+
twog_posts = map(posts)
|
14
|
+
expect(twog_posts.length).to eq(21)
|
15
|
+
twog_posts.each do |p|
|
16
|
+
expect(p.date).to eq("2010-04-02T01:00:00-06:00")
|
17
|
+
expect(p.link).to eq("http://tinyurl.com")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
it "should convert rss entries that have pubDate and link" do
|
22
|
+
post = double('post', pubDate: '2010-04-02T01:00:00-06:00', link: 'http://tinyurl.com')
|
23
|
+
posts = (0..20).collect { |x| post }
|
24
|
+
|
25
|
+
twog_posts = map(posts)
|
26
|
+
expect(twog_posts.length).to eq(21)
|
27
|
+
twog_posts.each do |p|
|
28
|
+
expect(p.date).to eq("2010-04-02T01:00:00-06:00")
|
29
|
+
expect(p.link).to eq("http://tinyurl.com")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
2
|
+
|
3
|
+
describe RssParser do
|
4
|
+
include RssParser
|
5
|
+
|
6
|
+
it "should throw exception if rss_feed isn't provided" do
|
7
|
+
expect{ parse_feed(nil)}.to raise_error('RSS feed missing')
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should read the rss_feed_url and parse the items" do
|
11
|
+
allow(self).to receive(:get_content).and_return(rss_feed_url_content)
|
12
|
+
items = parse_feed('http://tinyurl.com')
|
13
|
+
expect(items.length).to eq(1)
|
14
|
+
expect(items[0].title.strip).to eq("Gocode Vim Plugin and Go Modules")
|
15
|
+
expect(items[0].link.strip).to eq("https://blog.jasonmeridth.com/posts/gocode-vim-plugin-and-go-modules/")
|
16
|
+
end
|
17
|
+
end
|
@@ -1,16 +1,14 @@
|
|
1
|
-
require File.dirname(__FILE__)
|
2
|
-
require 'rubygems'
|
3
|
-
require 'rss'
|
1
|
+
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
4
2
|
|
5
|
-
|
6
|
-
|
3
|
+
|
4
|
+
describe TwitterHandler do
|
7
5
|
include TwitterHandler
|
8
6
|
|
9
7
|
before(:each) do
|
10
|
-
@posts = [
|
8
|
+
@posts = [double('post', date: Time.now, link: 'http://bit.ly/Afr8s9')]
|
11
9
|
@conf = test_conf
|
12
10
|
end
|
13
|
-
|
11
|
+
|
14
12
|
it "should do nothing if no posts are provided" do
|
15
13
|
tweet(nil, nil, nil)
|
16
14
|
tweet([], nil, nil)
|
@@ -18,43 +16,43 @@ describe TwitterHandler do
|
|
18
16
|
|
19
17
|
it "should throw exception if oauth consumer key isn't provided" do
|
20
18
|
@conf['consumer_key'] = nil
|
21
|
-
|
19
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Consumer Key missing')
|
22
20
|
end
|
23
|
-
|
21
|
+
|
24
22
|
it "should throw exception if oauth consumer secret isn't provided" do
|
25
23
|
@conf['consumer_secret'] = nil
|
26
|
-
|
24
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Consumer Secret missing')
|
27
25
|
end
|
28
|
-
|
26
|
+
|
29
27
|
it "should throw exception if oauth access token isn't provided" do
|
30
28
|
@conf['access_token'] = nil
|
31
|
-
|
29
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Access Token missing')
|
32
30
|
end
|
33
|
-
|
31
|
+
|
34
32
|
it "should throw exception if oauth access secret isn't provided" do
|
35
33
|
@conf['access_secret'] = nil
|
36
|
-
|
34
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Access Secret missing')
|
37
35
|
end
|
38
|
-
|
36
|
+
|
39
37
|
it "should shorten the blog post url with bitly when bitly handler is provided" do
|
40
|
-
bitly =
|
41
|
-
bitly_url =
|
42
|
-
bitly.
|
43
|
-
bitly_url.
|
44
|
-
self.
|
45
|
-
self.
|
38
|
+
bitly = double 'bitly'
|
39
|
+
bitly_url = double 'bitly_url'
|
40
|
+
allow(bitly).to receive(:shorten).and_return(bitly_url)
|
41
|
+
allow(bitly_url).to receive(:short_url)
|
42
|
+
allow(self).to receive(:use_twitter_oauth)
|
43
|
+
allow(self).to receive(:update_config_file_with_latest_tweet_date)
|
46
44
|
tweet(@posts, @conf, bitly)
|
47
45
|
end
|
48
46
|
|
49
47
|
it "should make sure the text that is tweeted is at or less than 140 chars when the title is at or greater than 140 chars" do
|
50
|
-
text = ensure_text_is_of_length(140, "1234567890"*14, "http://bit.ly/Afr8s9")
|
51
|
-
text.
|
52
|
-
text.length.
|
48
|
+
text = ensure_text_is_of_length(140, "1234567890"*14, "http://bit.ly/Afr8s9")
|
49
|
+
expect(text).to eq("blogged: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 http://bit.ly/Afr8s9")
|
50
|
+
expect(text.length).to eq(140)
|
53
51
|
end
|
54
52
|
|
55
53
|
it "should make sure the text that is tweeted is at or less than 140 chars when the title is less than 140 chars" do
|
56
|
-
text = ensure_text_is_of_length(140, "1234567890", "http://bit.ly/Afr8s9")
|
57
|
-
text.
|
58
|
-
text.length.
|
54
|
+
text = ensure_text_is_of_length(140, "1234567890", "http://bit.ly/Afr8s9")
|
55
|
+
expect(text).to eq("blogged: 1234567890 http://bit.ly/Afr8s9")
|
56
|
+
expect(text.length).to eq(40)
|
59
57
|
end
|
60
58
|
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), '/../spec_helper')
|
2
|
+
|
3
|
+
describe Twog do
|
4
|
+
include Twog::Twog
|
5
|
+
|
6
|
+
it 'should not tweet if there are no new blog posts' do
|
7
|
+
allow(self).to receive(:get_posts_to_tweet).with(test_conf).and_return([])
|
8
|
+
allow(self).to receive(:tweet).and_return(1)
|
9
|
+
result = run(test_conf)
|
10
|
+
expect(result).to be_nil
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should parse the rss feed and tweet new blog posts' do
|
14
|
+
entry = rss_entry
|
15
|
+
allow(self).to receive(:get_posts_to_tweet).with(test_conf).and_return([entry])
|
16
|
+
allow(self).to receive(:get_bitly_from)
|
17
|
+
allow(self).to receive(:tweet).and_return(1)
|
18
|
+
result = run(test_conf)
|
19
|
+
expect(result).to eq(1)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'should return nil if bitly username is nil' do
|
23
|
+
conf = test_conf
|
24
|
+
conf['bitly_username'] = nil
|
25
|
+
expect(get_bitly_from(conf)).to be_nil
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'should return nil if bitly api key is nil' do
|
29
|
+
conf = test_conf
|
30
|
+
conf['bitly_username'] = nil
|
31
|
+
expect(get_bitly_from(conf)).to be_nil
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should return nil if bitly api key is nil' do
|
35
|
+
allow(Bitly).to receive(:new).and_return('hello')
|
36
|
+
expect(get_bitly_from(test_conf)).to eq('hello')
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should get the version' do
|
40
|
+
allow(YAML).to receive(:load).and_return({major: '1', minor:'0', patch: '0'})
|
41
|
+
expect(version).to eq('1.0.0')
|
42
|
+
end
|
43
|
+
end
|
data/twog.gemspec
CHANGED
@@ -1,73 +1,81 @@
|
|
1
|
-
# Generated by
|
1
|
+
# Generated by juwelier
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit
|
3
|
+
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: twog 0.3.5 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.3.
|
8
|
+
s.name = "twog".freeze
|
9
|
+
s.version = "0.3.5"
|
9
10
|
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.description =
|
15
|
-
s.email = ["jmeridth@gmail.com"]
|
16
|
-
s.executables = ["twog"]
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib".freeze]
|
13
|
+
s.authors = ["Jason Meridth".freeze]
|
14
|
+
s.date = "2020-05-26"
|
15
|
+
s.description = "Tool to tweet blog posts".freeze
|
16
|
+
s.email = ["jmeridth@gmail.com".freeze]
|
17
|
+
s.executables = ["twog".freeze]
|
17
18
|
s.extra_rdoc_files = [
|
18
19
|
"LICENSE",
|
19
|
-
|
20
|
+
"README.md"
|
20
21
|
]
|
21
22
|
s.files = [
|
22
|
-
".
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
"spec/blog_posts_handler_spec.rb",
|
48
|
-
"spec/rss_parser_spec.rb",
|
49
|
-
"spec/spec_helper.rb",
|
50
|
-
"spec/twitter_handler_spec.rb",
|
51
|
-
"spec/twog_spec.rb"
|
23
|
+
".github/workflows/ruby.yml",
|
24
|
+
".ruby-gemset",
|
25
|
+
".ruby-version",
|
26
|
+
"Gemfile",
|
27
|
+
"Gemfile.lock",
|
28
|
+
"History.rdoc",
|
29
|
+
"LICENSE",
|
30
|
+
"README.md",
|
31
|
+
"Rakefile",
|
32
|
+
"VERSION.yml",
|
33
|
+
"bin/twog",
|
34
|
+
"lib/twog.rb",
|
35
|
+
"lib/twog/blog_posts_handler.rb",
|
36
|
+
"lib/twog/post.rb",
|
37
|
+
"lib/twog/rss_entry_to_twog_post_mapper.rb",
|
38
|
+
"lib/twog/rss_parser.rb",
|
39
|
+
"lib/twog/twitter_handler.rb",
|
40
|
+
"spec/spec_helper.rb",
|
41
|
+
"spec/twog/blog_posts_handler_spec.rb",
|
42
|
+
"spec/twog/post_spec.rb",
|
43
|
+
"spec/twog/rss_entry_to_twog_post_mapper_spec.rb",
|
44
|
+
"spec/twog/rss_parser_spec.rb",
|
45
|
+
"spec/twog/twitter_handler_spec.rb",
|
46
|
+
"spec/twog/twog_spec.rb",
|
47
|
+
"twog.gemspec"
|
52
48
|
]
|
49
|
+
s.homepage = "http://github.com/jmeridth/twog".freeze
|
50
|
+
s.rubygems_version = "3.1.2".freeze
|
51
|
+
s.summary = "Tool to tweet blog posts".freeze
|
53
52
|
|
54
53
|
if s.respond_to? :specification_version then
|
55
|
-
|
56
|
-
|
54
|
+
s.specification_version = 4
|
55
|
+
end
|
57
56
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
57
|
+
if s.respond_to? :add_runtime_dependency then
|
58
|
+
s.add_runtime_dependency(%q<rack>.freeze, ["~> 2.0.6"])
|
59
|
+
s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.10.4"])
|
60
|
+
s.add_runtime_dependency(%q<twitter_oauth>.freeze, [">= 0.3.3"])
|
61
|
+
s.add_runtime_dependency(%q<bitly>.freeze, [">= 0.4.0"])
|
62
|
+
s.add_runtime_dependency(%q<whenever>.freeze, [">= 0.4.1"])
|
63
|
+
s.add_runtime_dependency(%q<activesupport>.freeze, [">= 2.3.5"])
|
64
|
+
s.add_runtime_dependency(%q<juwelier>.freeze, [">= 2.4.9"])
|
65
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
66
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 2.0.0.beta.22"])
|
67
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
67
68
|
else
|
68
|
-
s.add_dependency(%q<
|
69
|
-
s.add_dependency(%q<
|
70
|
-
s.add_dependency(%q<
|
69
|
+
s.add_dependency(%q<rack>.freeze, ["~> 2.0.6"])
|
70
|
+
s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.4"])
|
71
|
+
s.add_dependency(%q<twitter_oauth>.freeze, [">= 0.3.3"])
|
72
|
+
s.add_dependency(%q<bitly>.freeze, [">= 0.4.0"])
|
73
|
+
s.add_dependency(%q<whenever>.freeze, [">= 0.4.1"])
|
74
|
+
s.add_dependency(%q<activesupport>.freeze, [">= 2.3.5"])
|
75
|
+
s.add_dependency(%q<juwelier>.freeze, [">= 2.4.9"])
|
76
|
+
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
77
|
+
s.add_dependency(%q<rspec>.freeze, [">= 2.0.0.beta.22"])
|
78
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
71
79
|
end
|
72
80
|
end
|
73
81
|
|
metadata
CHANGED
@@ -1,125 +1,210 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: twog
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
segments:
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 0
|
9
|
-
version: 0.3.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.5
|
10
5
|
platform: ruby
|
11
|
-
authors:
|
6
|
+
authors:
|
12
7
|
- Jason Meridth
|
13
8
|
autorequire:
|
14
9
|
bindir: bin
|
15
10
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
11
|
+
date: 2020-05-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rack
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.6
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.6
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: nokogiri
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.10.4
|
34
|
+
type: :runtime
|
22
35
|
prerelease: false
|
23
|
-
|
24
|
-
requirements:
|
25
|
-
- - ">="
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.10.4
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: twitter_oauth
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
31
47
|
version: 0.3.3
|
32
48
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: bitly
|
36
49
|
prerelease: false
|
37
|
-
|
38
|
-
requirements:
|
39
|
-
- - ">="
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.3.3
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bitly
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
45
61
|
version: 0.4.0
|
46
62
|
type: :runtime
|
47
|
-
|
48
|
-
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.4.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
49
70
|
name: whenever
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 0.4.1
|
76
|
+
type: :runtime
|
50
77
|
prerelease: false
|
51
|
-
|
52
|
-
requirements:
|
53
|
-
- - ">="
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
segments:
|
56
|
-
- 0
|
57
|
-
- 4
|
58
|
-
- 1
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
59
82
|
version: 0.4.1
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: activesupport
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 2.3.5
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 2.3.5
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: juwelier
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.4.9
|
60
104
|
type: :runtime
|
61
|
-
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.4.9
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 2.0.0.beta.22
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.0.0.beta.22
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
62
153
|
description: Tool to tweet blog posts
|
63
|
-
email:
|
154
|
+
email:
|
64
155
|
- jmeridth@gmail.com
|
65
|
-
executables:
|
156
|
+
executables:
|
66
157
|
- twog
|
67
158
|
extensions: []
|
68
|
-
|
69
|
-
extra_rdoc_files:
|
159
|
+
extra_rdoc_files:
|
70
160
|
- LICENSE
|
71
|
-
- README.
|
72
|
-
files:
|
73
|
-
- .
|
161
|
+
- README.md
|
162
|
+
files:
|
163
|
+
- ".github/workflows/ruby.yml"
|
164
|
+
- ".ruby-gemset"
|
165
|
+
- ".ruby-version"
|
166
|
+
- Gemfile
|
167
|
+
- Gemfile.lock
|
74
168
|
- History.rdoc
|
75
169
|
- LICENSE
|
76
|
-
- README.
|
170
|
+
- README.md
|
77
171
|
- Rakefile
|
78
172
|
- VERSION.yml
|
79
173
|
- bin/twog
|
80
174
|
- lib/twog.rb
|
81
175
|
- lib/twog/blog_posts_handler.rb
|
176
|
+
- lib/twog/post.rb
|
177
|
+
- lib/twog/rss_entry_to_twog_post_mapper.rb
|
82
178
|
- lib/twog/rss_parser.rb
|
83
179
|
- lib/twog/twitter_handler.rb
|
84
|
-
- spec/blog_posts_handler_spec.rb
|
85
|
-
- spec/rss_parser_spec.rb
|
86
180
|
- spec/spec_helper.rb
|
87
|
-
- spec/
|
88
|
-
- spec/
|
181
|
+
- spec/twog/blog_posts_handler_spec.rb
|
182
|
+
- spec/twog/post_spec.rb
|
183
|
+
- spec/twog/rss_entry_to_twog_post_mapper_spec.rb
|
184
|
+
- spec/twog/rss_parser_spec.rb
|
185
|
+
- spec/twog/twitter_handler_spec.rb
|
186
|
+
- spec/twog/twog_spec.rb
|
89
187
|
- twog.gemspec
|
90
|
-
|
91
|
-
homepage: http://github.com/armmer/twog
|
188
|
+
homepage: http://github.com/jmeridth/twog
|
92
189
|
licenses: []
|
93
|
-
|
190
|
+
metadata: {}
|
94
191
|
post_install_message:
|
95
|
-
rdoc_options:
|
96
|
-
|
97
|
-
require_paths:
|
192
|
+
rdoc_options: []
|
193
|
+
require_paths:
|
98
194
|
- lib
|
99
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
195
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
101
197
|
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '0'
|
200
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
|
+
requirements:
|
108
202
|
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
|
111
|
-
- 0
|
112
|
-
version: "0"
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: '0'
|
113
205
|
requirements: []
|
114
|
-
|
115
|
-
rubyforge_project: twog
|
116
|
-
rubygems_version: 1.3.6
|
206
|
+
rubygems_version: 3.1.2
|
117
207
|
signing_key:
|
118
|
-
specification_version:
|
208
|
+
specification_version: 4
|
119
209
|
summary: Tool to tweet blog posts
|
120
|
-
test_files:
|
121
|
-
- spec/blog_posts_handler_spec.rb
|
122
|
-
- spec/rss_parser_spec.rb
|
123
|
-
- spec/spec_helper.rb
|
124
|
-
- spec/twitter_handler_spec.rb
|
125
|
-
- spec/twog_spec.rb
|
210
|
+
test_files: []
|