twog 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/ruby.yml +20 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +3 -0
- data/Gemfile.lock +98 -52
- data/History.rdoc +13 -0
- data/LICENSE +1 -1
- data/README.md +4 -4
- data/VERSION.yml +2 -2
- data/spec/spec_helper.rb +26 -32
- data/spec/twog/blog_posts_handler_spec.rb +10 -10
- data/spec/twog/post_spec.rb +25 -25
- data/spec/twog/rss_entry_to_twog_post_mapper_spec.rb +11 -11
- data/spec/twog/rss_parser_spec.rb +7 -7
- data/spec/twog/twitter_handler_spec.rb +23 -23
- data/spec/twog/twog_spec.rb +23 -32
- data/twog.gemspec +47 -52
- metadata +54 -111
- data/.rvmrc +0 -1
- data/.travis.yml +0 -4
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5df0f0e2f66eadbb6e8d71b3f4d1d46455a3fb7d917620fa234a553a24b807cb
|
4
|
+
data.tar.gz: 4b54ac9c280a176fac070be2e0e3c1f85a3500a9ce1054eea4adf43a6be1856d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: e7d51688c32ba2635a92b388aedf87f61d69006727e916fdbf3402a7b96c16853c1049585b78171e5141fe3ac0f7d571fdca837f19b758ad93f4144158af996b
|
7
|
+
data.tar.gz: 5b578a5f2ee4940ef55f1173950200da51f476ea0b2aad5b4790d8f9aa9602c7983ccdd600b04f65f7f73bb00883194ea0958fb79b87834da1b9f191932f47c1
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
|
10
|
+
steps:
|
11
|
+
- uses: actions/checkout@v1
|
12
|
+
- name: Set up Ruby 2.6.3
|
13
|
+
uses: actions/setup-ruby@v1
|
14
|
+
with:
|
15
|
+
ruby-version: 2.6.3
|
16
|
+
- name: Build and test with Rspec
|
17
|
+
run: |
|
18
|
+
gem install bundler
|
19
|
+
bundle install --jobs 4 --retry 3
|
20
|
+
bundle exec rspec
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
twog
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.6.3
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,63 +1,101 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
activesupport (6.0.0)
|
5
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
6
|
+
i18n (>= 0.7, < 2)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
tzinfo (~> 1.1)
|
9
|
+
zeitwerk (~> 2.1, >= 2.1.8)
|
10
|
+
addressable (2.4.0)
|
11
|
+
bitly (1.1.2)
|
10
12
|
httparty (>= 0.7.6)
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
13
|
+
multi_json (~> 1.3)
|
14
|
+
oauth2 (>= 0.5.0, < 2.0)
|
15
|
+
builder (3.2.3)
|
16
|
+
chronic (0.10.2)
|
17
|
+
concurrent-ruby (1.1.5)
|
18
|
+
descendants_tracker (0.0.4)
|
19
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
20
|
+
diff-lcs (1.3)
|
21
|
+
docile (1.3.2)
|
22
|
+
faraday (0.9.2)
|
23
|
+
multipart-post (>= 1.2, < 3)
|
24
|
+
git (1.5.0)
|
25
|
+
github_api (0.16.0)
|
26
|
+
addressable (~> 2.4.0)
|
27
|
+
descendants_tracker (~> 0.0.4)
|
28
|
+
faraday (~> 0.8, < 0.10)
|
29
|
+
hashie (>= 3.4)
|
30
|
+
mime-types (>= 1.16, < 3.0)
|
31
|
+
oauth2 (~> 1.0)
|
32
|
+
hashie (3.6.0)
|
33
|
+
highline (2.0.2)
|
34
|
+
httparty (0.16.2)
|
35
|
+
multi_xml (>= 0.5.2)
|
36
|
+
i18n (1.6.0)
|
37
|
+
concurrent-ruby (~> 1.0)
|
38
|
+
jeweler (2.3.9)
|
39
|
+
builder
|
40
|
+
bundler
|
26
41
|
git (>= 1.2.5)
|
42
|
+
github_api (~> 0.16.0)
|
43
|
+
highline (>= 1.6.15)
|
44
|
+
nokogiri (>= 1.5.10)
|
45
|
+
psych
|
27
46
|
rake
|
28
47
|
rdoc
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
48
|
+
semver2
|
49
|
+
json (2.2.0)
|
50
|
+
jwt (2.2.1)
|
51
|
+
mime-types (2.99.3)
|
52
|
+
mini_portile2 (2.4.0)
|
53
|
+
minitest (5.12.0)
|
54
|
+
multi_json (1.13.1)
|
55
|
+
multi_xml (0.6.0)
|
56
|
+
multipart-post (2.1.1)
|
57
|
+
nokogiri (1.10.4)
|
58
|
+
mini_portile2 (~> 2.4.0)
|
59
|
+
oauth (0.5.4)
|
60
|
+
oauth2 (1.4.1)
|
61
|
+
faraday (>= 0.8, < 0.16.0)
|
62
|
+
jwt (>= 1.0, < 3.0)
|
63
|
+
multi_json (~> 1.3)
|
64
|
+
multi_xml (~> 0.5)
|
65
|
+
rack (>= 1.2, < 3)
|
66
|
+
psych (3.1.0)
|
67
|
+
rack (2.0.7)
|
68
|
+
rake (12.3.3)
|
69
|
+
rdoc (6.2.0)
|
70
|
+
rspec (3.8.0)
|
71
|
+
rspec-core (~> 3.8.0)
|
72
|
+
rspec-expectations (~> 3.8.0)
|
73
|
+
rspec-mocks (~> 3.8.0)
|
74
|
+
rspec-core (3.8.2)
|
75
|
+
rspec-support (~> 3.8.0)
|
76
|
+
rspec-expectations (3.8.4)
|
77
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
78
|
+
rspec-support (~> 3.8.0)
|
79
|
+
rspec-mocks (3.8.1)
|
80
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
81
|
+
rspec-support (~> 3.8.0)
|
82
|
+
rspec-support (3.8.2)
|
83
|
+
semver2 (3.4.2)
|
84
|
+
simplecov (0.17.1)
|
85
|
+
docile (~> 1.1)
|
86
|
+
json (>= 1.8, < 3)
|
87
|
+
simplecov-html (~> 0.10.0)
|
88
|
+
simplecov-html (0.10.2)
|
89
|
+
thread_safe (0.3.6)
|
90
|
+
twitter_oauth (0.4.94)
|
91
|
+
json (>= 1.8.0)
|
56
92
|
mime-types (>= 1.16)
|
57
|
-
oauth (>= 0.4.
|
58
|
-
|
59
|
-
|
60
|
-
|
93
|
+
oauth (>= 0.4.7)
|
94
|
+
tzinfo (1.2.5)
|
95
|
+
thread_safe (~> 0.1)
|
96
|
+
whenever (1.0.0)
|
97
|
+
chronic (>= 0.6.3)
|
98
|
+
zeitwerk (2.1.10)
|
61
99
|
|
62
100
|
PLATFORMS
|
63
101
|
ruby
|
@@ -66,8 +104,16 @@ DEPENDENCIES
|
|
66
104
|
activesupport (>= 2.3.5)
|
67
105
|
bitly (>= 0.4.0)
|
68
106
|
jeweler (>= 0.11.0)
|
107
|
+
nokogiri (>= 1.10.4)
|
108
|
+
rack (~> 2.0.6)
|
69
109
|
rake
|
70
110
|
rspec (>= 2.0.0.beta.22)
|
71
111
|
simplecov
|
72
112
|
twitter_oauth (>= 0.3.3)
|
73
113
|
whenever (>= 0.4.1)
|
114
|
+
|
115
|
+
RUBY VERSION
|
116
|
+
ruby 2.6.3p62
|
117
|
+
|
118
|
+
BUNDLED WITH
|
119
|
+
2.0.2
|
data/History.rdoc
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
=== Version 0.3.3 / 2019-09-23
|
2
|
+
|
3
|
+
* Enhancements
|
4
|
+
* Update to latest rspec mock formatting
|
5
|
+
|
6
|
+
* Security
|
7
|
+
* Update gem dependencies due to known CVEs
|
8
|
+
|
9
|
+
=== Version 0.3.2 / 2013-01-29
|
10
|
+
|
11
|
+
* Enhancements
|
12
|
+
* Fix github repo links for new github username s/armmer/jmeridth
|
13
|
+
|
1
14
|
=== Version 0.3.1 / 2010-04-16
|
2
15
|
|
3
16
|
* Enhancements
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# Twog
|
2
2
|
|
3
|
-
[![
|
4
|
-
[![
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/twog.png)](http://badge.fury.io/rb/twog)
|
4
|
+
[![CI Status](https://github.com/jmeridth/twog/workflows/Ruby/badge.svg)](https://github.com/jmeridth/twog/actions)
|
5
|
+
[![Code Climate](https://codeclimate.com/github/jmeridth/twog.png)](https://codeclimate.com/github/jmeridth/twog)
|
5
6
|
|
6
7
|
By Jason Meridth
|
7
8
|
|
@@ -69,9 +70,8 @@ Please check the [issues](http://github.com/jmeridth/twog/issues) on Github for
|
|
69
70
|
|
70
71
|
* Matt Dietz ([cerberus98](http://github.com/cerberus98)) special thanks
|
71
72
|
* Chris MacGown ([ChristopherMacGown](http://github.com/ChristopherMacGown))
|
72
|
-
* Paul Voccio ([pvo](http://github.com/pvo))
|
73
73
|
* Joe Ocampo ([agilejoe](http://github.com/agilejoe))
|
74
74
|
|
75
75
|
## Copyright
|
76
76
|
|
77
|
-
Copyright (c)
|
77
|
+
Copyright (c) 2019 Jason Meridth. See LICENSE for details.
|
data/VERSION.yml
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -25,24 +25,21 @@ end
|
|
25
25
|
|
26
26
|
def rss_feed_entry
|
27
27
|
entry=<<-EOS
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
</blockquote>
|
44
|
-
<p>That is true and that is life. I hope this helps someone understand that not all pair programming enthusiasts are zealots. I know it&#8217;s a fine line though.</p></content>
|
45
|
-
</entry>
|
28
|
+
<item>
|
29
|
+
<title>Gocode Vim Plugin and Go Modules</title>
|
30
|
+
<description>
|
31
|
+
<p><strong>Update</strong>: My friend <a href="https://twitter.com/_seemethere">Eli Uriegas</a> let me know that you don’t need <code class="highlighter-rouge">gocode</code> anymore since <code class="highlighter-rouge">vim-go</code> has autocompletion. I tested it out and he is correct. <a href="https://twitter.com/_seemethere/status/1081626050717728770">Here</a> is his tweet with a link to his dotfiles on how he sets up his <code class="highlighter-rouge">.vimrc</code> to use <code class="highlighter-rouge">vim-go</code></p> <p><em>Original Post:</em></p> <p>I recently purchased <a href="https://lets-go.alexedwards.net/">Let’s Go</a> from Alex Edwards. I wanted an end-to-end Golang website tutorial. It has been great. Lots learned.</p> <p>Unfortunately, he is using Go’s modules and the version of the gocode Vim plugin I was using did not support Go modules.</p> <h3 id="solution">Solution:</h3> <p>Use <a href="https://github.com/stamblerre/gocode">this fork</a> of the gocode Vim plugin and you’ll get support for Go modules.</p> <p>I use <a href="https://github.com/junegunn/vim-plug">Vim Plug</a> for my Vim plugins. Huge fan of Vundle but I like the post-actions feature of Plug. I just had to change one line of my vimrc and re-run updates.</p> <div class="language-diff highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="gh">diff --git a/vimrc b/vimrc index 3e8edf1..8395705 100644 </span><span class="gd">--- a/vimrc </span><span class="gi">+++ b/vimrc </span><span class="gu">@@ -73,7 +73,7 @@ endif </span> let editor_name='nvim' Plug 'zchee/deoplete-go', { 'do': 'make'} endif <span class="gd">- Plug 'nsf/gocode', { 'rtp': 'vim', 'do': '~/.config/nvim/plugged/gocode/vim/symlink.sh' } </span><span class="gi">+ Plug 'stamblerre/gocode', { 'rtp': 'vim', 'do': '~/.vim/plugged/gocode/vim/symlink.sh' } </span> Plug 'godoctor/godoctor.vim', {'for': 'go'} " Gocode refactoring tool " } </code></pre></div></div> <p>That is the line I had to change then run <code class="highlighter-rouge">:PlugUpdate!</code> and the new plugin was installed.</p> <p>I figured all of this out due to <a href="https://github.com/zchee/deoplete-go/issues/134#issuecomment-435436305">this comment</a> by <a href="https://github.com/cippaciong">Tommaso Sardelli</a> on Github. Thank you Tommaso.</p>
|
32
|
+
</description>
|
33
|
+
<pubDate>Sat, 05 Jan 2019 11:09:26 -0600</pubDate>
|
34
|
+
<link>
|
35
|
+
https://blog.jasonmeridth.com/posts/gocode-vim-plugin-and-go-modules/
|
36
|
+
</link>
|
37
|
+
<guid isPermaLink="true">
|
38
|
+
https://blog.jasonmeridth.com/posts/gocode-vim-plugin-and-go-modules/
|
39
|
+
</guid>
|
40
|
+
<category>go</category>
|
41
|
+
<category>vim</category>
|
42
|
+
</item>
|
46
43
|
EOS
|
47
44
|
return entry
|
48
45
|
end
|
@@ -53,20 +50,17 @@ def rss_entry
|
|
53
50
|
end
|
54
51
|
|
55
52
|
def rss_feed_url_content
|
56
|
-
|
57
|
-
|
58
|
-
<
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
<name>Jason Meridth</name>
|
67
|
-
<email>jmeridth@gmail.com</email>
|
68
|
-
</author>
|
53
|
+
rss_header=<<-EOS
|
54
|
+
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
|
55
|
+
<channel>
|
56
|
+
<title>Learn, Converse, Share</title>
|
57
|
+
<description>My Personal Blog</description>
|
58
|
+
<link>https://blog.jasonmeridth.com/</link>
|
59
|
+
<atom:link href="https://blog.jasonmeridth.com/feed.xml" rel="self" type="application/rss+xml"/>
|
60
|
+
<pubDate>Fri, 01 Mar 2019 13:02:56 -0600</pubDate>
|
61
|
+
<lastBuildDate>Fri, 01 Mar 2019 13:02:56 -0600</lastBuildDate>
|
62
|
+
<generator>Jekyll v3.7.4</generator>
|
69
63
|
EOS
|
70
|
-
return "#{
|
64
|
+
return "#{rss_header}#{rss_feed_entry}</channel></rss>"
|
71
65
|
end
|
72
66
|
|
@@ -1,38 +1,38 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
2
2
|
|
3
|
-
describe BlogPostsHandler do
|
3
|
+
describe BlogPostsHandler do
|
4
4
|
include BlogPostsHandler
|
5
5
|
|
6
6
|
before(:each) do
|
7
|
-
post = Twog::Post.new(
|
7
|
+
post = Twog::Post.new(double('', pubDate: Time.now, link: 'http://tinyurl.com'))
|
8
8
|
@posts = [post]
|
9
9
|
@last_blog_post_tweeted = test_conf['last_blog_post_tweeted']
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should determine that there is one new blog post to tweet" do
|
13
13
|
posts = get_new_blog_posts(@posts, @last_blog_post_tweeted)
|
14
|
-
posts.length.
|
14
|
+
expect(posts.length).to eq(1)
|
15
15
|
end
|
16
16
|
|
17
17
|
it "should return zero if posts are nil" do
|
18
18
|
posts = get_new_blog_posts(nil, @last_blog_post_tweeted)
|
19
|
-
posts.length.
|
19
|
+
expect(posts.length).to eq(0)
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
it "should return zero if no posts are passed" do
|
23
23
|
posts = get_new_blog_posts([], @last_blog_post_tweeted)
|
24
|
-
posts.length.
|
24
|
+
expect(posts.length).to eq(0)
|
25
25
|
end
|
26
26
|
|
27
27
|
it "should return the posts if there is no last_blog_post_tweeted in the conf file" do
|
28
28
|
posts = get_new_blog_posts(@posts, nil)
|
29
|
-
posts.length.
|
29
|
+
expect(posts.length).to eq(1)
|
30
30
|
end
|
31
31
|
|
32
32
|
it "should return zero posts if the date is older than the last blog post date tweeted" do
|
33
|
-
post = Twog::Post.new(
|
33
|
+
post = Twog::Post.new(double('', pubDate: (Date.parse(@last_blog_post_tweeted.to_s) - 10).to_s, link: 'http://tinyurl.com'))
|
34
34
|
@posts = [post]
|
35
35
|
posts = get_new_blog_posts(@posts, @last_blog_post_tweeted)
|
36
|
-
posts.length.
|
36
|
+
expect(posts.length).to eq(0)
|
37
37
|
end
|
38
38
|
end
|
data/spec/twog/post_spec.rb
CHANGED
@@ -3,75 +3,75 @@ require File.join(File.dirname(__FILE__), "/../spec_helper")
|
|
3
3
|
describe Post do
|
4
4
|
context "when rss entry has updated and link.href" do
|
5
5
|
before(:each) do
|
6
|
-
updated =
|
7
|
-
link =
|
8
|
-
title =
|
9
|
-
@post =
|
6
|
+
updated =double('update', content: '2010-04-02T01:00:00-06:00')
|
7
|
+
link = double('link', href: 'http://tinyurl.com')
|
8
|
+
title = double('title', content: 'test title')
|
9
|
+
@post = double('post', updated: updated, link: link, title: title)
|
10
10
|
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should return a link" do
|
14
14
|
twog_post = Twog::Post.new(@post)
|
15
|
-
twog_post.date.
|
15
|
+
expect(twog_post.date).to eq("2010-04-02T01:00:00-06:00")
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
it "should return a date" do
|
19
19
|
twog_post = Twog::Post.new(@post)
|
20
|
-
twog_post.date.
|
20
|
+
expect(twog_post.date).to eq("2010-04-02T01:00:00-06:00")
|
21
21
|
end
|
22
22
|
|
23
23
|
it "should return a title" do
|
24
24
|
twog_post = Twog::Post.new(@post)
|
25
|
-
twog_post.title.
|
25
|
+
expect(twog_post.title).to eq("test title")
|
26
26
|
end
|
27
27
|
|
28
28
|
it "should sort multiple posts" do
|
29
29
|
unsorted = (1..10).sort_by { rand }.collect do |i|
|
30
|
-
updated =
|
31
|
-
link =
|
32
|
-
post =
|
30
|
+
updated = double('update', content: (Time.now + (60*60*24*i)).to_s)
|
31
|
+
link = double('link', href: 'http://tinyurl.com')
|
32
|
+
post = double('post', updated: updated, link: link)
|
33
33
|
Twog::Post.new(post)
|
34
34
|
end
|
35
35
|
sorted = unsorted.sort!
|
36
|
-
sorted.length.
|
36
|
+
expect(sorted.length).to eq(10)
|
37
37
|
|
38
|
-
sorted.inject {|i, j| Time.parse(i.date.to_s).
|
38
|
+
sorted.inject {|i, j| expect(Time.parse(i.date.to_s)).to be < Time.parse(j.date.to_s); j }
|
39
39
|
end
|
40
|
-
|
40
|
+
|
41
41
|
it "should leave meeting list alone if all the times are the same" do
|
42
42
|
unsorted = (1..10).collect do |i|
|
43
|
-
updated =
|
44
|
-
link =
|
45
|
-
post =
|
43
|
+
updated = double('update', content: (Time.now + (60*60*24*3)).to_s)
|
44
|
+
link = double('link', href: 'http://tinyurl.com')
|
45
|
+
post = double('post', updated: updated, link: link)
|
46
46
|
Twog::Post.new(post)
|
47
47
|
end
|
48
48
|
sorted = unsorted.sort!
|
49
|
-
sorted.length.
|
50
|
-
sorted.
|
49
|
+
expect(sorted.length).to eq(10)
|
50
|
+
expect(sorted).to eq(unsorted)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
54
|
context "when rss entry has pubDate and link" do
|
55
55
|
before(:each) do
|
56
|
-
@post =
|
56
|
+
@post = double('post', pubDate: '2010-04-02T01:00:00-06:00', link: 'http://tinyurl.com')
|
57
57
|
end
|
58
58
|
|
59
59
|
it "should return a link" do
|
60
60
|
twog_post = Twog::Post.new(@post)
|
61
61
|
|
62
|
-
twog_post.link.
|
63
|
-
twog_post.date.
|
62
|
+
expect(twog_post.link).to eq("http://tinyurl.com")
|
63
|
+
expect(twog_post.date).to eq("2010-04-02T01:00:00-06:00")
|
64
64
|
end
|
65
65
|
|
66
66
|
it "should sort multiple posts again" do
|
67
67
|
unsorted = (1..10).sort_by { rand }.collect do |i|
|
68
|
-
post =
|
68
|
+
post = double('post', pubDate: (Time.now + (60*60*24*i)).to_s, link: 'http://tinyurl.com')
|
69
69
|
Twog::Post.new(post)
|
70
70
|
end
|
71
71
|
sorted = unsorted.sort!
|
72
|
-
sorted.length.
|
72
|
+
expect(sorted.length).to eq(10)
|
73
73
|
|
74
|
-
sorted.inject {|i, j| Time.parse(i.date.to_s).
|
74
|
+
sorted.inject {|i, j| expect(Time.parse(i.date.to_s)).to be < Time.parse(j.date.to_s); j }
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
@@ -4,29 +4,29 @@ describe RssEntryToTwogPostMapper do
|
|
4
4
|
include RssEntryToTwogPostMapper
|
5
5
|
|
6
6
|
it "should convert rss entries that have updated.content and link.href" do
|
7
|
-
updated =
|
8
|
-
link =
|
9
|
-
post =
|
10
|
-
|
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
11
|
posts = (0..20).collect { |x| post }
|
12
12
|
|
13
13
|
twog_posts = map(posts)
|
14
|
-
twog_posts.length.
|
14
|
+
expect(twog_posts.length).to eq(21)
|
15
15
|
twog_posts.each do |p|
|
16
|
-
p.date.
|
17
|
-
p.link.
|
16
|
+
expect(p.date).to eq("2010-04-02T01:00:00-06:00")
|
17
|
+
expect(p.link).to eq("http://tinyurl.com")
|
18
18
|
end
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should convert rss entries that have pubDate and link" do
|
22
|
-
post =
|
22
|
+
post = double('post', pubDate: '2010-04-02T01:00:00-06:00', link: 'http://tinyurl.com')
|
23
23
|
posts = (0..20).collect { |x| post }
|
24
24
|
|
25
25
|
twog_posts = map(posts)
|
26
|
-
twog_posts.length.
|
26
|
+
expect(twog_posts.length).to eq(21)
|
27
27
|
twog_posts.each do |p|
|
28
|
-
p.date.
|
29
|
-
p.link.
|
28
|
+
expect(p.date).to eq("2010-04-02T01:00:00-06:00")
|
29
|
+
expect(p.link).to eq("http://tinyurl.com")
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
@@ -1,17 +1,17 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
2
2
|
|
3
|
-
describe RssParser do
|
3
|
+
describe RssParser do
|
4
4
|
include RssParser
|
5
5
|
|
6
6
|
it "should throw exception if rss_feed isn't provided" do
|
7
|
-
|
7
|
+
expect{ parse_feed(nil)}.to raise_error('RSS feed missing')
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should read the rss_feed_url and parse the items" do
|
11
|
-
self.
|
12
|
-
items = parse_feed(
|
13
|
-
items.length.
|
14
|
-
items[0].title.
|
15
|
-
items[0].link.
|
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
16
|
end
|
17
17
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
require File.join(File.dirname(__FILE__), "/../spec_helper")
|
2
2
|
|
3
3
|
|
4
|
-
describe TwitterHandler do
|
4
|
+
describe TwitterHandler do
|
5
5
|
include TwitterHandler
|
6
6
|
|
7
7
|
before(:each) do
|
8
|
-
@posts = [
|
8
|
+
@posts = [double('post', date: Time.now, link: 'http://bit.ly/Afr8s9')]
|
9
9
|
@conf = test_conf
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
it "should do nothing if no posts are provided" do
|
13
13
|
tweet(nil, nil, nil)
|
14
14
|
tweet([], nil, nil)
|
@@ -16,43 +16,43 @@ describe TwitterHandler do
|
|
16
16
|
|
17
17
|
it "should throw exception if oauth consumer key isn't provided" do
|
18
18
|
@conf['consumer_key'] = nil
|
19
|
-
|
19
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Consumer Key missing')
|
20
20
|
end
|
21
|
-
|
21
|
+
|
22
22
|
it "should throw exception if oauth consumer secret isn't provided" do
|
23
23
|
@conf['consumer_secret'] = nil
|
24
|
-
|
24
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Consumer Secret missing')
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
it "should throw exception if oauth access token isn't provided" do
|
28
28
|
@conf['access_token'] = nil
|
29
|
-
|
29
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Access Token missing')
|
30
30
|
end
|
31
|
-
|
31
|
+
|
32
32
|
it "should throw exception if oauth access secret isn't provided" do
|
33
33
|
@conf['access_secret'] = nil
|
34
|
-
|
34
|
+
expect{tweet(@posts, @conf, nil)}.to raise_error('OAuth Access Secret missing')
|
35
35
|
end
|
36
|
-
|
36
|
+
|
37
37
|
it "should shorten the blog post url with bitly when bitly handler is provided" do
|
38
|
-
bitly =
|
39
|
-
bitly_url =
|
40
|
-
bitly.
|
41
|
-
bitly_url.
|
42
|
-
self.
|
43
|
-
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)
|
44
44
|
tweet(@posts, @conf, bitly)
|
45
45
|
end
|
46
46
|
|
47
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
|
48
|
-
text = ensure_text_is_of_length(140, "1234567890"*14, "http://bit.ly/Afr8s9")
|
49
|
-
text.
|
50
|
-
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)
|
51
51
|
end
|
52
52
|
|
53
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
|
54
|
-
text = ensure_text_is_of_length(140, "1234567890", "http://bit.ly/Afr8s9")
|
55
|
-
text.
|
56
|
-
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)
|
57
57
|
end
|
58
58
|
end
|
data/spec/twog/twog_spec.rb
CHANGED
@@ -1,52 +1,43 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__),
|
1
|
+
require File.join(File.dirname(__FILE__), '/../spec_helper')
|
2
2
|
|
3
|
-
describe Twog do
|
3
|
+
describe Twog do
|
4
4
|
include Twog::Twog
|
5
5
|
|
6
|
-
it
|
7
|
-
|
8
|
-
|
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
9
|
result = run(test_conf)
|
10
|
-
result.
|
10
|
+
expect(result).to be_nil
|
11
11
|
end
|
12
|
-
|
13
|
-
it
|
12
|
+
|
13
|
+
it 'should parse the rss feed and tweet new blog posts' do
|
14
14
|
entry = rss_entry
|
15
|
-
|
16
|
-
|
17
|
-
|
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
18
|
result = run(test_conf)
|
19
|
-
result.
|
19
|
+
expect(result).to eq(1)
|
20
20
|
end
|
21
21
|
|
22
|
-
it
|
22
|
+
it 'should return nil if bitly username is nil' do
|
23
23
|
conf = test_conf
|
24
24
|
conf['bitly_username'] = nil
|
25
|
-
get_bitly_from(conf).
|
25
|
+
expect(get_bitly_from(conf)).to be_nil
|
26
26
|
end
|
27
|
-
|
28
|
-
it
|
27
|
+
|
28
|
+
it 'should return nil if bitly api key is nil' do
|
29
29
|
conf = test_conf
|
30
30
|
conf['bitly_username'] = nil
|
31
|
-
get_bitly_from(conf).
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should return nil if bitly api key is nil" do
|
35
|
-
Bitly.stub!(:new).and_return("hello")
|
36
|
-
get_bitly_from(test_conf).should == "hello"
|
31
|
+
expect(get_bitly_from(conf)).to be_nil
|
37
32
|
end
|
38
33
|
|
39
|
-
it
|
40
|
-
|
41
|
-
|
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')
|
42
37
|
end
|
43
38
|
|
44
|
-
it
|
45
|
-
|
46
|
-
|
47
|
-
self.should_receive(:map).with(1).and_return(2)
|
48
|
-
self.should_receive(:get_new_blog_posts).with(2, conf['last_blog_post_tweeted'])
|
49
|
-
|
50
|
-
get_posts_to_tweet(conf)
|
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')
|
51
42
|
end
|
52
43
|
end
|
data/twog.gemspec
CHANGED
@@ -2,24 +2,27 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
+
# stub: twog 0.3.3 ruby lib
|
5
6
|
|
6
7
|
Gem::Specification.new do |s|
|
7
|
-
s.name = "twog"
|
8
|
-
s.version = "0.3.
|
8
|
+
s.name = "twog".freeze
|
9
|
+
s.version = "0.3.3"
|
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.
|
15
|
-
s.
|
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 = "2019-09-23"
|
15
|
+
s.description = "Tool to tweet blog posts".freeze
|
16
|
+
s.email = ["jmeridth@gmail.com".freeze]
|
17
|
+
s.executables = ["twog".freeze]
|
16
18
|
s.extra_rdoc_files = [
|
17
19
|
"LICENSE",
|
18
20
|
"README.md"
|
19
21
|
]
|
20
22
|
s.files = [
|
21
|
-
".
|
22
|
-
".
|
23
|
+
".github/workflows/ruby.yml",
|
24
|
+
".ruby-gemset",
|
25
|
+
".ruby-version",
|
23
26
|
"Gemfile",
|
24
27
|
"Gemfile.lock",
|
25
28
|
"History.rdoc",
|
@@ -43,55 +46,47 @@ Gem::Specification.new do |s|
|
|
43
46
|
"spec/twog/twog_spec.rb",
|
44
47
|
"twog.gemspec"
|
45
48
|
]
|
46
|
-
s.homepage = "http://github.com/jmeridth/twog"
|
47
|
-
s.
|
48
|
-
s.
|
49
|
-
s.rubygems_version = "1.8.24"
|
50
|
-
s.summary = "Tool to tweet blog posts"
|
49
|
+
s.homepage = "http://github.com/jmeridth/twog".freeze
|
50
|
+
s.rubygems_version = "3.0.3".freeze
|
51
|
+
s.summary = "Tool to tweet blog posts".freeze
|
51
52
|
|
52
53
|
if s.respond_to? :specification_version then
|
53
|
-
s.specification_version =
|
54
|
+
s.specification_version = 4
|
54
55
|
|
55
56
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
56
|
-
s.add_runtime_dependency(%q<
|
57
|
-
s.add_runtime_dependency(%q<
|
58
|
-
s.add_runtime_dependency(%q<
|
59
|
-
s.add_runtime_dependency(%q<
|
60
|
-
s.add_runtime_dependency(%q<
|
61
|
-
s.
|
62
|
-
s.
|
63
|
-
s.add_development_dependency(%q<
|
64
|
-
s.
|
65
|
-
s.
|
66
|
-
s.add_runtime_dependency(%q<whenever>, [">= 0.4.1"])
|
67
|
-
s.add_runtime_dependency(%q<activesupport>, [">= 2.3.5"])
|
57
|
+
s.add_runtime_dependency(%q<rack>.freeze, ["~> 2.0.6"])
|
58
|
+
s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.10.4"])
|
59
|
+
s.add_runtime_dependency(%q<twitter_oauth>.freeze, [">= 0.3.3"])
|
60
|
+
s.add_runtime_dependency(%q<bitly>.freeze, [">= 0.4.0"])
|
61
|
+
s.add_runtime_dependency(%q<whenever>.freeze, [">= 0.4.1"])
|
62
|
+
s.add_runtime_dependency(%q<activesupport>.freeze, [">= 2.3.5"])
|
63
|
+
s.add_runtime_dependency(%q<jeweler>.freeze, [">= 0.11.0"])
|
64
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
65
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 2.0.0.beta.22"])
|
66
|
+
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
68
67
|
else
|
69
|
-
s.add_dependency(%q<
|
70
|
-
s.add_dependency(%q<
|
71
|
-
s.add_dependency(%q<
|
72
|
-
s.add_dependency(%q<
|
73
|
-
s.add_dependency(%q<
|
74
|
-
s.add_dependency(%q<
|
75
|
-
s.add_dependency(%q<
|
76
|
-
s.add_dependency(%q<
|
77
|
-
s.add_dependency(%q<
|
78
|
-
s.add_dependency(%q<
|
79
|
-
s.add_dependency(%q<whenever>, [">= 0.4.1"])
|
80
|
-
s.add_dependency(%q<activesupport>, [">= 2.3.5"])
|
68
|
+
s.add_dependency(%q<rack>.freeze, ["~> 2.0.6"])
|
69
|
+
s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.4"])
|
70
|
+
s.add_dependency(%q<twitter_oauth>.freeze, [">= 0.3.3"])
|
71
|
+
s.add_dependency(%q<bitly>.freeze, [">= 0.4.0"])
|
72
|
+
s.add_dependency(%q<whenever>.freeze, [">= 0.4.1"])
|
73
|
+
s.add_dependency(%q<activesupport>.freeze, [">= 2.3.5"])
|
74
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0.11.0"])
|
75
|
+
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
76
|
+
s.add_dependency(%q<rspec>.freeze, [">= 2.0.0.beta.22"])
|
77
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
81
78
|
end
|
82
79
|
else
|
83
|
-
s.add_dependency(%q<
|
84
|
-
s.add_dependency(%q<
|
85
|
-
s.add_dependency(%q<
|
86
|
-
s.add_dependency(%q<
|
87
|
-
s.add_dependency(%q<
|
88
|
-
s.add_dependency(%q<
|
89
|
-
s.add_dependency(%q<
|
90
|
-
s.add_dependency(%q<
|
91
|
-
s.add_dependency(%q<
|
92
|
-
s.add_dependency(%q<
|
93
|
-
s.add_dependency(%q<whenever>, [">= 0.4.1"])
|
94
|
-
s.add_dependency(%q<activesupport>, [">= 2.3.5"])
|
80
|
+
s.add_dependency(%q<rack>.freeze, ["~> 2.0.6"])
|
81
|
+
s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.4"])
|
82
|
+
s.add_dependency(%q<twitter_oauth>.freeze, [">= 0.3.3"])
|
83
|
+
s.add_dependency(%q<bitly>.freeze, [">= 0.4.0"])
|
84
|
+
s.add_dependency(%q<whenever>.freeze, [">= 0.4.1"])
|
85
|
+
s.add_dependency(%q<activesupport>.freeze, [">= 2.3.5"])
|
86
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0.11.0"])
|
87
|
+
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
88
|
+
s.add_dependency(%q<rspec>.freeze, [">= 2.0.0.beta.22"])
|
89
|
+
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
95
90
|
end
|
96
91
|
end
|
97
92
|
|
metadata
CHANGED
@@ -1,208 +1,155 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.3
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jason Meridth
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2019-09-23 00:00:00.000000000 Z
|
13
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
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.10.4
|
14
41
|
- !ruby/object:Gem::Dependency
|
15
42
|
name: twitter_oauth
|
16
43
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
44
|
requirements:
|
19
|
-
- -
|
45
|
+
- - ">="
|
20
46
|
- !ruby/object:Gem::Version
|
21
47
|
version: 0.3.3
|
22
48
|
type: :runtime
|
23
49
|
prerelease: false
|
24
50
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
51
|
requirements:
|
27
|
-
- -
|
52
|
+
- - ">="
|
28
53
|
- !ruby/object:Gem::Version
|
29
54
|
version: 0.3.3
|
30
55
|
- !ruby/object:Gem::Dependency
|
31
56
|
name: bitly
|
32
57
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
58
|
requirements:
|
35
|
-
- -
|
59
|
+
- - ">="
|
36
60
|
- !ruby/object:Gem::Version
|
37
61
|
version: 0.4.0
|
38
62
|
type: :runtime
|
39
63
|
prerelease: false
|
40
64
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
65
|
requirements:
|
43
|
-
- -
|
66
|
+
- - ">="
|
44
67
|
- !ruby/object:Gem::Version
|
45
68
|
version: 0.4.0
|
46
69
|
- !ruby/object:Gem::Dependency
|
47
70
|
name: whenever
|
48
71
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
72
|
requirements:
|
51
|
-
- -
|
73
|
+
- - ">="
|
52
74
|
- !ruby/object:Gem::Version
|
53
75
|
version: 0.4.1
|
54
76
|
type: :runtime
|
55
77
|
prerelease: false
|
56
78
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
79
|
requirements:
|
59
|
-
- -
|
80
|
+
- - ">="
|
60
81
|
- !ruby/object:Gem::Version
|
61
82
|
version: 0.4.1
|
62
83
|
- !ruby/object:Gem::Dependency
|
63
84
|
name: activesupport
|
64
85
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
86
|
requirements:
|
67
|
-
- -
|
87
|
+
- - ">="
|
68
88
|
- !ruby/object:Gem::Version
|
69
89
|
version: 2.3.5
|
70
90
|
type: :runtime
|
71
91
|
prerelease: false
|
72
92
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
93
|
requirements:
|
75
|
-
- -
|
94
|
+
- - ">="
|
76
95
|
- !ruby/object:Gem::Version
|
77
96
|
version: 2.3.5
|
78
97
|
- !ruby/object:Gem::Dependency
|
79
98
|
name: jeweler
|
80
99
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
100
|
requirements:
|
83
|
-
- -
|
101
|
+
- - ">="
|
84
102
|
- !ruby/object:Gem::Version
|
85
103
|
version: 0.11.0
|
86
104
|
type: :runtime
|
87
105
|
prerelease: false
|
88
106
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
107
|
requirements:
|
91
|
-
- -
|
108
|
+
- - ">="
|
92
109
|
- !ruby/object:Gem::Version
|
93
110
|
version: 0.11.0
|
94
111
|
- !ruby/object:Gem::Dependency
|
95
112
|
name: rake
|
96
113
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
114
|
requirements:
|
99
|
-
- -
|
115
|
+
- - ">="
|
100
116
|
- !ruby/object:Gem::Version
|
101
117
|
version: '0'
|
102
118
|
type: :development
|
103
119
|
prerelease: false
|
104
120
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
121
|
requirements:
|
107
|
-
- -
|
122
|
+
- - ">="
|
108
123
|
- !ruby/object:Gem::Version
|
109
124
|
version: '0'
|
110
125
|
- !ruby/object:Gem::Dependency
|
111
126
|
name: rspec
|
112
127
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
128
|
requirements:
|
115
|
-
- -
|
129
|
+
- - ">="
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: 2.0.0.beta.22
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
135
|
requirements:
|
123
|
-
- -
|
136
|
+
- - ">="
|
124
137
|
- !ruby/object:Gem::Version
|
125
138
|
version: 2.0.0.beta.22
|
126
139
|
- !ruby/object:Gem::Dependency
|
127
140
|
name: simplecov
|
128
141
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
142
|
requirements:
|
131
|
-
- -
|
143
|
+
- - ">="
|
132
144
|
- !ruby/object:Gem::Version
|
133
145
|
version: '0'
|
134
146
|
type: :development
|
135
147
|
prerelease: false
|
136
148
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
149
|
requirements:
|
139
|
-
- -
|
150
|
+
- - ">="
|
140
151
|
- !ruby/object:Gem::Version
|
141
152
|
version: '0'
|
142
|
-
- !ruby/object:Gem::Dependency
|
143
|
-
name: twitter_oauth
|
144
|
-
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
|
-
requirements:
|
147
|
-
- - ! '>='
|
148
|
-
- !ruby/object:Gem::Version
|
149
|
-
version: 0.3.3
|
150
|
-
type: :runtime
|
151
|
-
prerelease: false
|
152
|
-
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ! '>='
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
version: 0.3.3
|
158
|
-
- !ruby/object:Gem::Dependency
|
159
|
-
name: bitly
|
160
|
-
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
|
-
requirements:
|
163
|
-
- - ! '>='
|
164
|
-
- !ruby/object:Gem::Version
|
165
|
-
version: 0.4.0
|
166
|
-
type: :runtime
|
167
|
-
prerelease: false
|
168
|
-
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
|
-
requirements:
|
171
|
-
- - ! '>='
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.4.0
|
174
|
-
- !ruby/object:Gem::Dependency
|
175
|
-
name: whenever
|
176
|
-
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
|
-
requirements:
|
179
|
-
- - ! '>='
|
180
|
-
- !ruby/object:Gem::Version
|
181
|
-
version: 0.4.1
|
182
|
-
type: :runtime
|
183
|
-
prerelease: false
|
184
|
-
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
|
-
requirements:
|
187
|
-
- - ! '>='
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version: 0.4.1
|
190
|
-
- !ruby/object:Gem::Dependency
|
191
|
-
name: activesupport
|
192
|
-
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
|
-
requirements:
|
195
|
-
- - ! '>='
|
196
|
-
- !ruby/object:Gem::Version
|
197
|
-
version: 2.3.5
|
198
|
-
type: :runtime
|
199
|
-
prerelease: false
|
200
|
-
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
|
-
requirements:
|
203
|
-
- - ! '>='
|
204
|
-
- !ruby/object:Gem::Version
|
205
|
-
version: 2.3.5
|
206
153
|
description: Tool to tweet blog posts
|
207
154
|
email:
|
208
155
|
- jmeridth@gmail.com
|
@@ -213,8 +160,9 @@ extra_rdoc_files:
|
|
213
160
|
- LICENSE
|
214
161
|
- README.md
|
215
162
|
files:
|
216
|
-
- .
|
217
|
-
- .
|
163
|
+
- ".github/workflows/ruby.yml"
|
164
|
+
- ".ruby-gemset"
|
165
|
+
- ".ruby-version"
|
218
166
|
- Gemfile
|
219
167
|
- Gemfile.lock
|
220
168
|
- History.rdoc
|
@@ -239,29 +187,24 @@ files:
|
|
239
187
|
- twog.gemspec
|
240
188
|
homepage: http://github.com/jmeridth/twog
|
241
189
|
licenses: []
|
190
|
+
metadata: {}
|
242
191
|
post_install_message:
|
243
192
|
rdoc_options: []
|
244
193
|
require_paths:
|
245
194
|
- lib
|
246
195
|
required_ruby_version: !ruby/object:Gem::Requirement
|
247
|
-
none: false
|
248
196
|
requirements:
|
249
|
-
- -
|
197
|
+
- - ">="
|
250
198
|
- !ruby/object:Gem::Version
|
251
199
|
version: '0'
|
252
|
-
segments:
|
253
|
-
- 0
|
254
|
-
hash: -2591306887136186329
|
255
200
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
256
|
-
none: false
|
257
201
|
requirements:
|
258
|
-
- -
|
202
|
+
- - ">="
|
259
203
|
- !ruby/object:Gem::Version
|
260
204
|
version: '0'
|
261
205
|
requirements: []
|
262
|
-
|
263
|
-
rubygems_version: 1.8.24
|
206
|
+
rubygems_version: 3.0.3
|
264
207
|
signing_key:
|
265
|
-
specification_version:
|
208
|
+
specification_version: 4
|
266
209
|
summary: Tool to tweet blog posts
|
267
210
|
test_files: []
|
data/.rvmrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
rvm --create use ruby-1.9.2-p290@blog
|
data/.travis.yml
DELETED