twog 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -0,0 +1 @@
1
+ twog
@@ -0,0 +1 @@
1
+ 2.6.3
data/Gemfile CHANGED
@@ -1,5 +1,8 @@
1
1
  source 'http://rubygems.org'
2
+ ruby '2.6.3'
2
3
 
4
+ gem 'rack', '~>2.0.6'
5
+ gem 'nokogiri', '>= 1.10.4'
3
6
  gem 'twitter_oauth', '>=0.3.3'
4
7
  gem 'bitly', '>=0.4.0'
5
8
  gem 'whenever', '>=0.4.1'
@@ -1,63 +1,101 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- activesupport (3.2.3)
5
- i18n (~> 0.6)
6
- multi_json (~> 1.0)
7
- addressable (2.2.7)
8
- bitly (0.7.0)
9
- crack (>= 0.1.4)
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
- oauth2 (~> 0.5.0)
12
- chronic (0.6.7)
13
- crack (0.3.1)
14
- diff-lcs (1.1.3)
15
- faraday (0.7.6)
16
- addressable (~> 2.2)
17
- multipart-post (~> 1.1)
18
- rack (~> 1.1)
19
- git (1.2.5)
20
- httparty (0.8.1)
21
- multi_json
22
- multi_xml
23
- i18n (0.6.0)
24
- jeweler (1.8.3)
25
- bundler (~> 1.0)
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
- json (1.6.6)
30
- mime-types (1.18)
31
- multi_json (1.2.0)
32
- multi_xml (0.4.2)
33
- multipart-post (1.1.5)
34
- oauth (0.4.5)
35
- oauth2 (0.5.2)
36
- faraday (~> 0.7)
37
- multi_json (~> 1.0)
38
- rack (1.4.1)
39
- rake (0.9.2.2)
40
- rdoc (3.12)
41
- json (~> 1.4)
42
- rspec (2.9.0)
43
- rspec-core (~> 2.9.0)
44
- rspec-expectations (~> 2.9.0)
45
- rspec-mocks (~> 2.9.0)
46
- rspec-core (2.9.0)
47
- rspec-expectations (2.9.1)
48
- diff-lcs (~> 1.1.3)
49
- rspec-mocks (2.9.0)
50
- simplecov (0.6.1)
51
- multi_json (~> 1.0)
52
- simplecov-html (~> 0.5.3)
53
- simplecov-html (0.5.3)
54
- twitter_oauth (0.4.3)
55
- json (>= 1.1.9)
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.1)
58
- whenever (0.7.3)
59
- activesupport (>= 2.3.4)
60
- chronic (~> 0.6.3)
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
@@ -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
@@ -1,6 +1,6 @@
1
1
  (The MIT License)
2
2
 
3
- Copyright (c) 2010 Jason Meridth
3
+ Copyright (c) 2019 Jason Meridth
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # Twog
2
2
 
3
- [![Build Status](https://secure.travis-ci.org/jmeridth/twog.png?branch=master)](http://travis-ci.org/#!/jmeridth/twog)
4
- [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/jmeridth/twog)
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) 2010 Jason Meridth. See LICENSE for details.
77
+ Copyright (c) 2019 Jason Meridth. See LICENSE for details.
@@ -1,5 +1,5 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 3
4
- :patch: 2
5
- :build:
4
+ :patch: 3
5
+ :build:
@@ -25,24 +25,21 @@ end
25
25
 
26
26
  def rss_feed_entry
27
27
  entry=<<-EOS
28
- <entry>
29
- <title>Pair Programming</title>
30
- <link href="http://blog.jasonmeridth.com/2009/01/29/pair-programming.html"/>
31
- <updated>2009-01-29T00:00:00-08:00</updated>
32
- <id>http://blog.jasonmeridth.com/2009/01/29/pair-programming</id>
33
- <content type="html">&lt;h1&gt;Pair Programming&lt;/h1&gt;
34
- &lt;p class=&quot;meta&quot;&gt;29 Jan 2009 &amp;#8211; San Antonio&lt;/p&gt;
35
- &lt;p&gt;I recently found this post, &lt;a href=&quot;http://blog.jayfields.com/2008/02/pair-programming-all-time.html&quot;&gt;Pair Programming all the time&lt;/a&gt;, by &lt;a href=&quot;http://blog.jayfields.com/&quot;&gt;Jay Fields&lt;/a&gt; and loved it. I&amp;#8217;ve felt the same way about pair programming.&lt;/p&gt;
36
- &lt;blockquote&gt;
37
- &lt;p&gt;&amp;#8220;I define all the time (in terms of pairing) as when I&amp;#8217;m writing code that I&amp;#8217;m going to commit.&amp;#8221;&lt;/p&gt;
38
- &lt;/blockquote&gt;
39
- &lt;p&gt;That is perfect. Common sense but stated explicitly. I worked in an Agile shop for 2 1/2 years and the environment was setup to highlight pair programming. Pictures and little explanation &lt;a href=&quot;http://www.lostechies.com/blogs/joe_ocampo/archive/2007/12/09/where-the-magic-happens-our-dev-lap.aspx&quot;&gt;here&lt;/a&gt; (Thanks Joe). We even marked tasks in the stories as low (L) or high (H) to dictate whether a pair was necessary (this was decided during our modeling week by the two developers who tasked the story, but always up for discussion during the iteration). It worked out pretty well.&lt;/p&gt;
40
- &lt;p&gt;I understand and have heard all the reasons to not pair program. Sometimes it works and sometimes it doesn&amp;#8217;t. I&amp;#8217;ve personally experienced the benefits. You learn to work with different personalities and that can only benefit you in your professional career. And, the obvious reason, is immediate code review. But, as my friend Scott C. Reynolds &lt;a href=&quot;http://www.lostechies.com/blogs/scottcreynolds/archive/2009/01/23/on-teaching-learning-and-being-honest-with-ourselves.aspx&quot;&gt;says&lt;/a&gt; (more or less):&lt;/p&gt;
41
- &lt;blockquote&gt;
42
- &lt;p&gt;&amp;#8220;Not everyone is cut from the same cloth&amp;#8221;&lt;/p&gt;
43
- &lt;/blockquote&gt;
44
- &lt;p&gt;That is true and that is life. I hope this helps someone understand that not all pair programming enthusiasts are zealots. I know it&amp;#8217;s a fine line though.&lt;/p&gt;</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
- post=<<-EOS
57
- <?xml version="1.0" encoding="utf-8"?>
58
- <feed xmlns="http://www.w3.org/2005/Atom">
59
-
60
- <title>Jason Meridth</title>
61
- <link href="http://blog.jasonmeridth.com/atom.xml" rel="self"/>
62
- <link href="http://blog.jasonmeridth.com/"/>
63
- <updated>2010-04-04T13:15:31-07:00</updated>
64
- <id>http://blog.jasonmeridth.com/</id>
65
- <author>
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 "#{post}#{rss_feed_entry}"
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(stub('', :pubDate => Time.now, :link => 'http://tinyurl.com'))
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.should == 1
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.should == 0
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.should == 0
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.should == 1
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(stub('', :pubDate => (Date.parse(@last_blog_post_tweeted.to_s) - 10).to_s, :link => 'http://tinyurl.com'))
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.should == 0
36
+ expect(posts.length).to eq(0)
37
37
  end
38
38
  end
@@ -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 = stub('update', :content => '2010-04-02T01:00:00-06:00')
7
- link = stub('link', :href => 'http://tinyurl.com')
8
- title = stub('title', :content => 'test title')
9
- @post = stub('post', :updated => updated, :link => link, :title => title)
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.should == "2010-04-02T01:00:00-06:00"
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.should == "2010-04-02T01:00:00-06:00"
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.should == "test 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 = stub('update', :content => (Time.now + (60*60*24*i)).to_s)
31
- link = stub('link', :href => 'http://tinyurl.com')
32
- post = stub('post', :updated => updated, :link => link)
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.should == 10
36
+ expect(sorted.length).to eq(10)
37
37
 
38
- sorted.inject {|i, j| Time.parse(i.date.to_s).should be < Time.parse(j.date.to_s); j }
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 = stub('update', :content => (Time.now + (60*60*24*3)).to_s)
44
- link = stub('link', :href => 'http://tinyurl.com')
45
- post = stub('post', :updated => updated, :link => link)
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.should == 10
50
- sorted.should == unsorted
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 = stub('post', :pubDate => '2010-04-02T01:00:00-06:00', :link => 'http://tinyurl.com')
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.should == "http://tinyurl.com"
63
- twog_post.date.should == "2010-04-02T01:00:00-06:00"
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 = stub('post', :pubDate => (Time.now + (60*60*24*i)).to_s, :link => 'http://tinyurl.com')
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.should == 10
72
+ expect(sorted.length).to eq(10)
73
73
 
74
- sorted.inject {|i, j| Time.parse(i.date.to_s).should be < Time.parse(j.date.to_s); j }
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 = stub('update', :content => '2010-04-02T01:00:00-06:00')
8
- link = stub('link', :href => 'http://tinyurl.com')
9
- post = stub('post', :updated => updated, :link => link)
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.should == 21
14
+ expect(twog_posts.length).to eq(21)
15
15
  twog_posts.each do |p|
16
- p.date.should == "2010-04-02T01:00:00-06:00"
17
- p.link.should == "http://tinyurl.com"
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 = stub('post', :pubDate => '2010-04-02T01:00:00-06:00', :link => 'http://tinyurl.com')
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.should == 21
26
+ expect(twog_posts.length).to eq(21)
27
27
  twog_posts.each do |p|
28
- p.date.should == "2010-04-02T01:00:00-06:00"
29
- p.link.should == "http://tinyurl.com"
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
- lambda { parse_feed(nil) }.should raise_error('RSS feed missing')
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.stub!(:open).and_return(rss_feed_url_content)
12
- items = parse_feed(test_conf)
13
- items.length.should == 1
14
- items[0].title.content.should == "Pair Programming"
15
- items[0].link.href.should == "http://blog.jasonmeridth.com/2009/01/29/pair-programming.html"
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 = [stub('post', :date => Time.now, :link => 'http://bit.ly/Afr8s9')]
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
- lambda { tweet(@posts, @conf, nil) }.should raise_error('OAuth Consumer Key missing')
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
- lambda { tweet(@posts, @conf, nil) }.should raise_error('OAuth Consumer Secret missing')
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
- lambda { tweet(@posts, @conf, nil) }.should raise_error('OAuth Access Token missing')
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
- lambda { tweet(@posts, @conf, nil) }.should raise_error('OAuth Access Secret missing')
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 = mock 'bitly'
39
- bitly_url = mock 'bitly_url'
40
- bitly.should_receive(:shorten).and_return(bitly_url)
41
- bitly_url.should_receive(:short_url)
42
- self.stub!(:use_twitter_oauth)
43
- self.stub!(:update_config_file_with_latest_tweet_date)
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.should == "blogged: 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 http://bit.ly/Afr8s9"
50
- text.length.should == 140
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.should == "blogged: 1234567890 http://bit.ly/Afr8s9"
56
- text.length.should == 40
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
@@ -1,52 +1,43 @@
1
- require File.join(File.dirname(__FILE__), "/../spec_helper")
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 "should not tweet if there are no new blog posts" do
7
- stub!(:get_posts_to_tweet).with(test_conf).and_return([])
8
- stub!(:tweet).and_return(1)
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.should be nil
10
+ expect(result).to be_nil
11
11
  end
12
-
13
- it "should parse the rss feed and tweet new blog posts" do
12
+
13
+ it 'should parse the rss feed and tweet new blog posts' do
14
14
  entry = rss_entry
15
- stub!(:get_posts_to_tweet).with(test_conf).and_return([entry])
16
- stub!(:get_bitly_from)
17
- stub!(:tweet).and_return(1)
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.should == 1
19
+ expect(result).to eq(1)
20
20
  end
21
21
 
22
- it "should return nil if bitly username is nil" do
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).should be nil
25
+ expect(get_bitly_from(conf)).to be_nil
26
26
  end
27
-
28
- it "should return nil if bitly api key is nil" do
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).should be nil
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 "should get the version" do
40
- YAML.stub!(:load).and_return({:major => "1", :minor => "0", :patch => "0"})
41
- version.should == "1.0.0"
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 "should get the posts to tweet" do
45
- conf = test_conf
46
- self.should_receive(:parse_feed).with(conf['rss_feed']).and_return(1)
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
@@ -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.2"
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.authors = ["Jason Meridth"]
12
- s.date = "2013-01-29"
13
- s.description = "Tool to tweet blog posts"
14
- s.email = ["jmeridth@gmail.com"]
15
- 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 = "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
- ".rvmrc",
22
- ".travis.yml",
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.require_paths = ["lib"]
48
- s.rubyforge_project = "twog"
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 = 3
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<twitter_oauth>, [">= 0.3.3"])
57
- s.add_runtime_dependency(%q<bitly>, [">= 0.4.0"])
58
- s.add_runtime_dependency(%q<whenever>, [">= 0.4.1"])
59
- s.add_runtime_dependency(%q<activesupport>, [">= 2.3.5"])
60
- s.add_runtime_dependency(%q<jeweler>, [">= 0.11.0"])
61
- s.add_development_dependency(%q<rake>, [">= 0"])
62
- s.add_development_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
63
- s.add_development_dependency(%q<simplecov>, [">= 0"])
64
- s.add_runtime_dependency(%q<twitter_oauth>, [">= 0.3.3"])
65
- s.add_runtime_dependency(%q<bitly>, [">= 0.4.0"])
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<twitter_oauth>, [">= 0.3.3"])
70
- s.add_dependency(%q<bitly>, [">= 0.4.0"])
71
- s.add_dependency(%q<whenever>, [">= 0.4.1"])
72
- s.add_dependency(%q<activesupport>, [">= 2.3.5"])
73
- s.add_dependency(%q<jeweler>, [">= 0.11.0"])
74
- s.add_dependency(%q<rake>, [">= 0"])
75
- s.add_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
76
- s.add_dependency(%q<simplecov>, [">= 0"])
77
- s.add_dependency(%q<twitter_oauth>, [">= 0.3.3"])
78
- s.add_dependency(%q<bitly>, [">= 0.4.0"])
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<twitter_oauth>, [">= 0.3.3"])
84
- s.add_dependency(%q<bitly>, [">= 0.4.0"])
85
- s.add_dependency(%q<whenever>, [">= 0.4.1"])
86
- s.add_dependency(%q<activesupport>, [">= 2.3.5"])
87
- s.add_dependency(%q<jeweler>, [">= 0.11.0"])
88
- s.add_dependency(%q<rake>, [">= 0"])
89
- s.add_dependency(%q<rspec>, [">= 2.0.0.beta.22"])
90
- s.add_dependency(%q<simplecov>, [">= 0"])
91
- s.add_dependency(%q<twitter_oauth>, [">= 0.3.3"])
92
- s.add_dependency(%q<bitly>, [">= 0.4.0"])
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.2
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: 2013-01-29 00:00:00.000000000 Z
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
- - .rvmrc
217
- - .travis.yml
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
- rubyforge_project: twog
263
- rubygems_version: 1.8.24
206
+ rubygems_version: 3.0.3
264
207
  signing_key:
265
- specification_version: 3
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
@@ -1,4 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.8.7
4
- - 1.9.2