twog 0.3.1 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 553b805d489c88a2ba32e4110fd7fda676310db26252ce6cfadf69aa0bec0be6
4
+ data.tar.gz: 115642dc76c809d8bd2fbc85da1f6d2eadba8e27a081806b0748676a28a2fe22
5
+ SHA512:
6
+ metadata.gz: f9122ab0d5fcb98900e77a7ec203553a9fd6a825a76318dce5acadce62117bfbebdd65da11bd6246c16134b1b2e94801dee9015c365e64e1adaa8b1545f4e5fb
7
+ data.tar.gz: b8323633414456d36ff7a513b75a39b11e12c0ddc66769af5cf3512a473e88abd83f512ef0e0b932204b565fa14852ff70c2cddac60c4f484085a09b23b67105
@@ -0,0 +1,12 @@
1
+ # These are supported funding model platforms
2
+
3
+ github: [jmeridth] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4
+ patreon: # Replace with a single Patreon username
5
+ open_collective: # Replace with a single Open Collective username
6
+ ko_fi: # Replace with a single Ko-fi username
7
+ tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8
+ community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9
+ liberapay: # Replace with a single Liberapay username
10
+ issuehunt: # Replace with a single IssueHunt username
11
+ otechie: # Replace with a single Otechie username
12
+ custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
@@ -0,0 +1,23 @@
1
+ name: Ruby
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ test:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ strategy:
11
+ matrix:
12
+ ruby-version: [3.0.x, 2.7.x, 2.6.x]
13
+
14
+ steps:
15
+ - uses: actions/checkout@v2
16
+ - name: Set up Ruby ${{ matrix.ruby-version }}
17
+ uses: actions/setup-ruby@v1
18
+ with:
19
+ ruby-version: ${{ matrix.ruby-version }}
20
+ - name: Install dependencies
21
+ run: bundle install
22
+ - name: Run tests
23
+ run: bundle exec rspec
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ twog
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.0
data/Gemfile ADDED
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'http://rubygems.org'
4
+ ruby '3.0'
5
+
6
+ gem 'activesupport'
7
+ gem 'bitly'
8
+ gem 'juwelier'
9
+ gem 'nokogiri'
10
+ gem 'rack'
11
+ gem 'rss'
12
+ gem 'twitter_oauth'
13
+ gem 'whenever'
14
+
15
+ group :development, :test do
16
+ gem 'rake'
17
+ gem 'rspec'
18
+ gem 'rubocop'
19
+ gem 'simplecov'
20
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,152 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ activesupport (6.1.3.1)
5
+ concurrent-ruby (~> 1.0, >= 1.0.2)
6
+ i18n (>= 1.6, < 2)
7
+ minitest (>= 5.1)
8
+ tzinfo (~> 2.0)
9
+ zeitwerk (~> 2.3)
10
+ addressable (2.7.0)
11
+ public_suffix (>= 2.0.2, < 5.0)
12
+ ast (2.4.2)
13
+ bitly (2.0.1)
14
+ oauth2 (>= 0.5.0, < 2.0)
15
+ builder (3.2.4)
16
+ chronic (0.10.2)
17
+ concurrent-ruby (1.1.8)
18
+ descendants_tracker (0.0.4)
19
+ thread_safe (~> 0.3, >= 0.3.1)
20
+ diff-lcs (1.4.4)
21
+ docile (1.3.5)
22
+ faraday (1.3.0)
23
+ faraday-net_http (~> 1.0)
24
+ multipart-post (>= 1.2, < 3)
25
+ ruby2_keywords
26
+ faraday-net_http (1.0.1)
27
+ git (1.8.1)
28
+ rchardet (~> 1.8)
29
+ github_api (0.19.0)
30
+ addressable (~> 2.4)
31
+ descendants_tracker (~> 0.0.4)
32
+ faraday (>= 0.8, < 2)
33
+ hashie (~> 3.5, >= 3.5.2)
34
+ oauth2 (~> 1.0)
35
+ hashie (3.6.0)
36
+ highline (2.0.3)
37
+ i18n (1.8.9)
38
+ concurrent-ruby (~> 1.0)
39
+ json (2.5.1)
40
+ juwelier (2.4.9)
41
+ builder
42
+ bundler
43
+ git
44
+ github_api
45
+ highline
46
+ kamelcase (~> 0)
47
+ nokogiri
48
+ psych
49
+ rake
50
+ rdoc
51
+ semver2
52
+ jwt (2.2.2)
53
+ kamelcase (0.0.2)
54
+ semver2 (~> 3)
55
+ mime-types (3.3.1)
56
+ mime-types-data (~> 3.2015)
57
+ mime-types-data (3.2021.0225)
58
+ minitest (5.14.4)
59
+ multi_json (1.15.0)
60
+ multi_xml (0.6.0)
61
+ multipart-post (2.1.1)
62
+ nokogiri (1.11.2-x86_64-darwin)
63
+ racc (~> 1.4)
64
+ oauth (0.5.5)
65
+ oauth2 (1.4.7)
66
+ faraday (>= 0.8, < 2.0)
67
+ jwt (>= 1.0, < 3.0)
68
+ multi_json (~> 1.3)
69
+ multi_xml (~> 0.5)
70
+ rack (>= 1.2, < 3)
71
+ parallel (1.20.1)
72
+ parser (3.0.0.0)
73
+ ast (~> 2.4.1)
74
+ psych (3.3.1)
75
+ public_suffix (4.0.6)
76
+ racc (1.5.2)
77
+ rack (2.2.3)
78
+ rainbow (3.0.0)
79
+ rake (13.0.3)
80
+ rchardet (1.8.0)
81
+ rdoc (6.3.0)
82
+ regexp_parser (2.1.1)
83
+ rexml (3.2.4)
84
+ rspec (3.10.0)
85
+ rspec-core (~> 3.10.0)
86
+ rspec-expectations (~> 3.10.0)
87
+ rspec-mocks (~> 3.10.0)
88
+ rspec-core (3.10.1)
89
+ rspec-support (~> 3.10.0)
90
+ rspec-expectations (3.10.1)
91
+ diff-lcs (>= 1.2.0, < 2.0)
92
+ rspec-support (~> 3.10.0)
93
+ rspec-mocks (3.10.2)
94
+ diff-lcs (>= 1.2.0, < 2.0)
95
+ rspec-support (~> 3.10.0)
96
+ rspec-support (3.10.2)
97
+ rss (0.2.9)
98
+ rexml
99
+ rubocop (1.12.0)
100
+ parallel (~> 1.10)
101
+ parser (>= 3.0.0.0)
102
+ rainbow (>= 2.2.2, < 4.0)
103
+ regexp_parser (>= 1.8, < 3.0)
104
+ rexml
105
+ rubocop-ast (>= 1.2.0, < 2.0)
106
+ ruby-progressbar (~> 1.7)
107
+ unicode-display_width (>= 1.4.0, < 3.0)
108
+ rubocop-ast (1.4.1)
109
+ parser (>= 2.7.1.5)
110
+ ruby-progressbar (1.11.0)
111
+ ruby2_keywords (0.0.4)
112
+ semver2 (3.4.2)
113
+ simplecov (0.21.2)
114
+ docile (~> 1.1)
115
+ simplecov-html (~> 0.11)
116
+ simplecov_json_formatter (~> 0.1)
117
+ simplecov-html (0.12.3)
118
+ simplecov_json_formatter (0.1.2)
119
+ thread_safe (0.3.6)
120
+ twitter_oauth (0.4.94)
121
+ json (>= 1.8.0)
122
+ mime-types (>= 1.16)
123
+ oauth (>= 0.4.7)
124
+ tzinfo (2.0.4)
125
+ concurrent-ruby (~> 1.0)
126
+ unicode-display_width (2.0.0)
127
+ whenever (1.0.0)
128
+ chronic (>= 0.6.3)
129
+ zeitwerk (2.4.2)
130
+
131
+ PLATFORMS
132
+ x86_64-darwin-20
133
+
134
+ DEPENDENCIES
135
+ activesupport
136
+ bitly
137
+ juwelier
138
+ nokogiri
139
+ rack
140
+ rake
141
+ rspec
142
+ rss
143
+ rubocop
144
+ simplecov
145
+ twitter_oauth
146
+ whenever
147
+
148
+ RUBY VERSION
149
+ ruby 3.0.0p0
150
+
151
+ BUNDLED WITH
152
+ 2.2.3
data/History.rdoc CHANGED
@@ -1,19 +1,50 @@
1
+ === Version 0.3.4 / 2020-03-15
2
+
3
+ * Security
4
+ * Update gem dependencies due to known CVEs
5
+
6
+ === Version 0.3.3 / 2019-09-23
7
+
8
+ * Enhancements
9
+ * Update to latest rspec mock formatting
10
+
11
+ * Security
12
+ * Update gem dependencies due to known CVEs
13
+
14
+ === Version 0.3.2 / 2013-01-29
15
+
16
+ * Enhancements
17
+ * Fix github repo links for new github username s/armmer/jmeridth
18
+
19
+ === Version 0.3.1 / 2010-04-16
20
+
21
+ * Enhancements
22
+ * Added executable command "-o/--output" to output what blog posts
23
+ will be tweeted
24
+ * Added activesupport gem dependency (needed by whatever gem)
25
+ * Restructured app to be mainly Ruby modules
26
+
27
+ * Bugs
28
+ * Added mapping of rss entries to Twog::Post due to rss entries
29
+ having multiple ways to get date, title, link
30
+
31
+
1
32
  === Version 0.3.0 / 2010-04-10
2
33
 
3
34
  * Enhancements
4
- * Added binary commands "--cronadd N" and "--cronrm" to install/remove
35
+ * Added exectable commands "--cronadd N" and "--cronrm" to install/remove
5
36
  cron job that calls twog every N minutes (added dependency on whenever gem)
6
- * added more options to binary commands for help and version (-?,-h,-v)
37
+ * added more options to exectable commands for help and version (-?,-h,-v)
7
38
 
8
39
  === Version 0.2.2 / 2010-04-09
9
40
 
10
41
  * Bugs
11
- * fix README to reference "--conf" binary command instead of legacy rake task
42
+ * fix README to reference "--conf" exectable command instead of legacy rake task
12
43
 
13
44
  === Version 0.2.1 / 2010-04-08
14
45
 
15
46
  * Features
16
- * change creating of conf file to a binary option (--conf) instead of rake task
47
+ * change creating of conf file to a exectable option (--conf) instead of rake task
17
48
 
18
49
  === Version 0.2.0 / 2010-04-08
19
50
 
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 ADDED
@@ -0,0 +1,77 @@
1
+ # Twog
2
+
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)
6
+
7
+ By Jason Meridth
8
+
9
+ Twog is a simple application that parses an RSS feed and will tweet any posts it hasn't already tweeted. Once you obtain OAuth access to a twitter account and provide it in the configuration and run Twog, it will tweet a prefix, your blog title, and a URL of the post. There are also options of using Bit.ly for URL shortening and you can install Twog as a cron job for automated polling.
10
+
11
+ ## Install
12
+
13
+ sudo gem install twog
14
+
15
+ ## Writing to Twitter With OAuth
16
+
17
+ Please read [this](http://blog.jasonmeridth.com/2010/04/02/oauth.html) if you want to know how to get your Twitter OAuth consumer key/secret and access token/secret.
18
+
19
+ One you have those, run the command:
20
+
21
+ twog --conf
22
+
23
+ and a hidden configuration file will be created in the your home folder (~/.twog/conf.yaml). Once there, please fill it out with the information necessary to use this tool.
24
+
25
+ ## Seeing What Will Be Tweeted
26
+
27
+ To see what will be Tweeted before it is, type:
28
+
29
+ twog -o
30
+
31
+ or
32
+
33
+ twog --output
34
+
35
+ ## Shortening Blog Post URLs With Bitly API
36
+
37
+ In order to use Bitly for URL shortening, you'll need to go to [http://bit.ly](http://bit.ly) and click the [Sign Up](http://bit.ly/account/register?rd=/) link on the top right and get an account. Once you are logged-in you click the [Account](http://bit.ly/account) link in the same top right area. You will see your API Key in the middle of the page.
38
+
39
+ Put your bit.ly username and api key into the ~/.twog/conf.yaml file to be used in the code.
40
+
41
+ ## Automating Polling With Cron
42
+
43
+ To install twog as a crontab job, run the command:
44
+
45
+ twog --cronadd N
46
+
47
+ where N is the number of minutes you want twog to fire off every time.
48
+
49
+ To remove twog as a crontab job, run the command:
50
+
51
+ twog --cronrm
52
+
53
+ [Crontab Info](http://www.unixgeeks.org/security/newbie/unix/cron-1.html) for all my non-*nix bretheren.
54
+
55
+ ### Runtime Dependencies
56
+
57
+ * TwitterOauth: Writes tweets to Twitter (Ruby)
58
+ * Whenever: Sets up cron jobs (Ruby)
59
+ * Bitly: Shortens URLs (Ruby)
60
+
61
+ ## Developer Dependencies
62
+
63
+ * RSpec: Test and Mocking framework (Ruby)
64
+
65
+ ## TODO
66
+
67
+ Please check the [issues](http://github.com/jmeridth/twog/issues) on Github for future features or bugs that need to be fixed
68
+
69
+ ## Contributors
70
+
71
+ * Matt Dietz ([cerberus98](http://github.com/cerberus98)) special thanks
72
+ * Chris MacGown ([ChristopherMacGown](http://github.com/ChristopherMacGown))
73
+ * Joe Ocampo ([agilejoe](http://github.com/agilejoe))
74
+
75
+ ## Copyright
76
+
77
+ Copyright (c) 2019 Jason Meridth. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,50 +1,45 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rubygems'
2
- require 'spec/rake/spectask'
3
- require 'rake/gempackagetask'
4
-
4
+ require 'rspec/core/rake_task'
5
+ require 'rubygems/package_task'
6
+
7
+ task default: ['spec:coverage']
5
8
 
6
9
  namespace :twog do
7
- desc "Clean out the coverage and the pkg"
10
+ desc 'Clean out the coverage and the pkg'
8
11
  task :clean do
9
12
  rm_rf 'coverage'
10
13
  rm_rf 'pkg'
11
14
  end
12
15
  end
13
16
 
14
- desc "Run all specs in spec directory"
15
- Spec::Rake::SpecTask.new(:spec) do |t|
16
- t.spec_files = FileList['spec/**/*_spec.rb']
17
- t.spec_opts = ['--color']
17
+ desc 'Run all specs in spec directory'
18
+ RSpec::Core::RakeTask.new(:spec) do |spec|
19
+ spec.pattern = FileList['spec/**/*_spec.rb']
20
+ spec.rspec_opts = ['--color']
18
21
  end
19
22
 
20
- namespace :spec do
21
- desc "Run rcov on the spec files"
22
- Spec::Rake::SpecTask.new(:coverage) do |t|
23
- t.spec_files = FileList['spec/**/*_spec.rb']
24
- t.spec_opts = ['--color']
25
- t.rcov = true
26
- t.rcov_opts = ['--exclude', 'spec']
23
+ namespace :spec do
24
+ desc 'Run coverage on the spec files'
25
+ RSpec::Core::RakeTask.new(:coverage) do |spec|
26
+ spec.pattern = FileList['spec/**/*_spec.rb']
27
+ spec.rspec_opts = ['--color']
28
+ ENV['COVERAGE'] = 'true'
27
29
  end
28
30
  end
29
31
 
30
32
  begin
31
- gem 'jeweler', '>= 0.11.0'
32
- require 'jeweler'
33
- Jeweler::Tasks.new do |s|
34
- s.name = "twog"
35
- s.summary = %Q{Tool to tweet blog posts}
36
- s.email = ["jmeridth@gmail.com"]
37
- s.homepage = "http://github.com/armmer/twog"
38
- s.description = "Tool to tweet blog posts"
39
- s.authors = ["Jason Meridth"]
40
- s.rubyforge_project = "twog"
41
- s.add_dependency('twitter_oauth', '>= 0.3.3')
42
- s.add_dependency('bitly', '>= 0.4.0')
43
- s.add_dependency('whenever', '>= 0.4.1')
44
- s.add_dependency('activesupport', '>= 2.3.5')
33
+ require 'juwelier'
34
+ Juwelier::Tasks.new do |s|
35
+ s.name = 'twog'
36
+ s.summary = %(Tool to tweet blog posts)
37
+ s.email = ['jmeridth@gmail.com']
38
+ s.homepage = 'http://github.com/jmeridth/twog'
39
+ s.description = 'Tool to tweet blog posts'
40
+ s.authors = ['Jason Meridth']
45
41
  end
46
42
  rescue LoadError
47
- puts "Jeweler not available. Install it with: sudo gem install jeweler --version '>= 0.11.0'"
43
+ puts "Juwelier not available. Install it with: sudo gem install juwelier --version '>= 2.4.9'"
48
44
  exit(1)
49
45
  end
50
-