pluto-models 1.5.3 → 1.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Manifest.txt +1 -1
- data/lib/pluto/config.rb +32 -0
- data/lib/pluto/connecter.rb +3 -2
- data/lib/pluto/models.rb +13 -0
- data/lib/pluto/models/feed.rb +5 -7
- data/lib/pluto/models/item.rb +4 -4
- data/lib/pluto/models/utils.rb +1 -1
- data/lib/pluto/version.rb +1 -1
- data/test/helper.rb +3 -6
- data/test/test_delete_removed.rb +1 -4
- data/test/test_filter.rb +1 -4
- data/test/test_helpers.rb +1 -4
- data/test/test_site.rb +3 -6
- metadata +3 -3
- data/test/data/ruby.ini +0 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51ec18ad86fd2cc4cafda7e80bc4d9e8d038d650
|
4
|
+
data.tar.gz: 27883c52dd7e3d08b2380c0085d162e48112e7ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba8e07e5e685a6d605625e399e210f017af5274724a518f12f9ab71cfb28f08cf9daf5fbd1537aad47f10792a84b4e0825bbb91bf6244683835d9dc275d1002b
|
7
|
+
data.tar.gz: 02ce3fde608247434c54114044c5368269b5f941a463d0f5f383041da61a8c49b181a182c6ffaaa74e1b95e38a6d18b505a4124a6144c328a4bd916555632394
|
data/Manifest.txt
CHANGED
@@ -2,6 +2,7 @@ CHANGELOG.md
|
|
2
2
|
Manifest.txt
|
3
3
|
README.md
|
4
4
|
Rakefile
|
5
|
+
lib/pluto/config.rb
|
5
6
|
lib/pluto/connecter.rb
|
6
7
|
lib/pluto/models.rb
|
7
8
|
lib/pluto/models/feed.rb
|
@@ -12,7 +13,6 @@ lib/pluto/models/subscription.rb
|
|
12
13
|
lib/pluto/models/utils.rb
|
13
14
|
lib/pluto/schema.rb
|
14
15
|
lib/pluto/version.rb
|
15
|
-
test/data/ruby.ini
|
16
16
|
test/helper.rb
|
17
17
|
test/test_delete_removed.rb
|
18
18
|
test/test_filter.rb
|
data/lib/pluto/config.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Pluto
|
4
|
+
class Configuration
|
5
|
+
|
6
|
+
def debug=(value) @debug = value; end
|
7
|
+
def debug?() @debug || false; end
|
8
|
+
|
9
|
+
def logger
|
10
|
+
## always return root for now; let's you globally configure e.g.
|
11
|
+
## logger.level = :debug etc.
|
12
|
+
LogUtils::Logger.root
|
13
|
+
end
|
14
|
+
end # class Configuration
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
## lets you use
|
19
|
+
## Pluto.configure do |config|
|
20
|
+
## config.debug = true
|
21
|
+
## config.logger.level = :debug
|
22
|
+
## end
|
23
|
+
|
24
|
+
def self.configure
|
25
|
+
yield( config )
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.config
|
29
|
+
@config ||= Configuration.new
|
30
|
+
end
|
31
|
+
|
32
|
+
end # module Pluto
|
data/lib/pluto/connecter.rb
CHANGED
@@ -9,14 +9,15 @@ module Pluto
|
|
9
9
|
class Connecter
|
10
10
|
|
11
11
|
include LogUtils::Logging
|
12
|
+
|
13
|
+
|
12
14
|
|
13
15
|
def initialize
|
14
16
|
# do nothing for now
|
15
17
|
end
|
16
18
|
|
19
|
+
def debug?() Pluto.config.debug?; end
|
17
20
|
|
18
|
-
def debug=(value) @debug = value; end
|
19
|
-
def debug?() @debug || false; end
|
20
21
|
|
21
22
|
|
22
23
|
def connect( config={} )
|
data/lib/pluto/models.rb
CHANGED
@@ -34,6 +34,7 @@ require 'logutils/activerecord'
|
|
34
34
|
# our own code
|
35
35
|
|
36
36
|
require 'pluto/version' # note: let version always get first
|
37
|
+
require 'pluto/config'
|
37
38
|
require 'pluto/schema'
|
38
39
|
|
39
40
|
require 'pluto/models/forward'
|
@@ -106,9 +107,21 @@ module Pluto
|
|
106
107
|
end # setup_in_memory_dd
|
107
108
|
|
108
109
|
|
110
|
+
#########################################
|
111
|
+
## let's put test configuration in its own namespace / module
|
112
|
+
class Test ## todo/check: works with module too? use a module - why? why not?
|
113
|
+
|
114
|
+
####
|
115
|
+
# todo/fix: find a better way to configure shared test datasets - why? why not?
|
116
|
+
# note: use one-up (..) directory for now as default - why? why not?
|
117
|
+
def self.data_dir() @data_dir ||= '../test'; end
|
118
|
+
def self.data_dir=( path ) @data_dir = path; end
|
119
|
+
end # class Test
|
120
|
+
|
109
121
|
end # module Pluto
|
110
122
|
|
111
123
|
|
112
124
|
|
125
|
+
|
113
126
|
# say hello
|
114
127
|
puts Pluto.banner if $DEBUG || (defined?($RUBYLIBS_DEBUG) && $RUBYLIBS_DEBUG)
|
data/lib/pluto/models/feed.rb
CHANGED
@@ -12,8 +12,8 @@ class Feed < ActiveRecord::Base
|
|
12
12
|
## only class method present?
|
13
13
|
## what's the best way to add logging to activerecord (use "builtin" machinery??)
|
14
14
|
|
15
|
-
|
16
|
-
def debug?()
|
15
|
+
|
16
|
+
def debug?() Pluto.config.debug?; end
|
17
17
|
|
18
18
|
|
19
19
|
|
@@ -33,9 +33,9 @@ class Feed < ActiveRecord::Base
|
|
33
33
|
# note: order by first non-null datetime field
|
34
34
|
# coalesce - supported by sqlite (yes), postgres (yes)
|
35
35
|
|
36
|
-
# note: if not updated or published use hardcoded
|
37
|
-
## order( "coalesce(updated,published,'
|
38
|
-
order( Arel.sql( "coalesce(feeds.items_last_updated,'
|
36
|
+
# note: if not updated or published use hardcoded 1970-01-01 for now
|
37
|
+
## was: order( "coalesce(updated,published,'1970-01-01') desc" )
|
38
|
+
order( Arel.sql( "coalesce(feeds.items_last_updated,'1970-01-01') desc" ) )
|
39
39
|
end
|
40
40
|
|
41
41
|
##################################
|
@@ -119,8 +119,6 @@ class Feed < ActiveRecord::Base
|
|
119
119
|
logger.info "UPDATE | #{item.title}"
|
120
120
|
end
|
121
121
|
|
122
|
-
item_rec.debug = debug? ? true : false # pass along debug flag
|
123
|
-
|
124
122
|
item_rec.feed_id = id # feed_rec.id - add feed_id fk_ref
|
125
123
|
item_rec.fetched = fetched # feed_rec.fetched
|
126
124
|
|
data/lib/pluto/models/item.rb
CHANGED
@@ -10,8 +10,8 @@ class Item < ActiveRecord::Base
|
|
10
10
|
## only class method present?
|
11
11
|
## what's the best way to add logging to activerecord (use "builtin" machinery??)
|
12
12
|
|
13
|
-
|
14
|
-
def debug?()
|
13
|
+
|
14
|
+
def debug?() Pluto.config.debug?; end
|
15
15
|
|
16
16
|
|
17
17
|
self.table_name = 'items'
|
@@ -36,8 +36,8 @@ class Item < ActiveRecord::Base
|
|
36
36
|
# note: order by first non-null datetime field
|
37
37
|
# coalesce - supported by sqlite (yes), postgres (yes)
|
38
38
|
|
39
|
-
# note: if not updated,published use hardcoded
|
40
|
-
order( Arel.sql( "coalesce(items.updated,items.published,'
|
39
|
+
# note: if not updated,published use hardcoded 1970-01-01 for now
|
40
|
+
order( Arel.sql( "coalesce(items.updated,items.published,'1970-01-01') desc" ) )
|
41
41
|
end
|
42
42
|
|
43
43
|
def updated?() read_attribute(:updated).present?; end
|
data/lib/pluto/models/utils.rb
CHANGED
data/lib/pluto/version.rb
CHANGED
data/test/helper.rb
CHANGED
@@ -1,18 +1,15 @@
|
|
1
|
-
## $:.unshift(File.dirname(__FILE__))
|
2
|
-
|
3
|
-
|
4
1
|
## minitest setup
|
5
|
-
|
6
2
|
require 'minitest/autorun'
|
7
3
|
|
8
4
|
## our own code
|
9
5
|
require 'pluto/models'
|
10
6
|
|
11
7
|
|
12
|
-
|
8
|
+
Pluto.config.debug = true
|
9
|
+
Pluto.config.logger.level = :debug
|
13
10
|
|
14
11
|
|
15
|
-
## some shortcuts
|
12
|
+
## add some (ActiveRecord model class) shortcuts
|
16
13
|
Log = LogDb::Model::Log
|
17
14
|
Prop = ConfDb::Model::Prop
|
18
15
|
|
data/test/test_delete_removed.rb
CHANGED
data/test/test_filter.rb
CHANGED
data/test/test_helpers.rb
CHANGED
data/test/test_site.rb
CHANGED
@@ -1,10 +1,7 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
###
|
4
2
|
# to run use
|
5
3
|
# ruby -I ./lib -I ./test test/test_site.rb
|
6
|
-
|
7
|
-
# rake test
|
4
|
+
|
8
5
|
|
9
6
|
require 'helper'
|
10
7
|
|
@@ -20,7 +17,7 @@ class TestSite < MiniTest::Test
|
|
20
17
|
|
21
18
|
|
22
19
|
def test_site_create
|
23
|
-
site_text = File.read( "#{Pluto.
|
20
|
+
site_text = File.read( "#{Pluto::Test.data_dir}/ruby.ini")
|
24
21
|
site_config = INI.load( site_text )
|
25
22
|
## pp site_config
|
26
23
|
|
@@ -45,7 +42,7 @@ class TestSite < MiniTest::Test
|
|
45
42
|
|
46
43
|
|
47
44
|
def test_site_update
|
48
|
-
site_text = File.read( "#{Pluto.
|
45
|
+
site_text = File.read( "#{Pluto::Test.data_dir}/ruby.ini")
|
49
46
|
site_config = INI.load( site_text )
|
50
47
|
## pp site_config
|
51
48
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pluto-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01
|
11
|
+
date: 2020-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: props
|
@@ -191,6 +191,7 @@ files:
|
|
191
191
|
- Manifest.txt
|
192
192
|
- README.md
|
193
193
|
- Rakefile
|
194
|
+
- lib/pluto/config.rb
|
194
195
|
- lib/pluto/connecter.rb
|
195
196
|
- lib/pluto/models.rb
|
196
197
|
- lib/pluto/models/feed.rb
|
@@ -201,7 +202,6 @@ files:
|
|
201
202
|
- lib/pluto/models/utils.rb
|
202
203
|
- lib/pluto/schema.rb
|
203
204
|
- lib/pluto/version.rb
|
204
|
-
- test/data/ruby.ini
|
205
205
|
- test/helper.rb
|
206
206
|
- test/test_delete_removed.rb
|
207
207
|
- test/test_filter.rb
|
data/test/data/ruby.ini
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
title = Planet Ruby
|
2
|
-
source = https://github.com/feedreader/pluto/raw/master/pluto-models/test/data/ruby.ini
|
3
|
-
|
4
|
-
[rubylang]
|
5
|
-
title = Ruby Lang News
|
6
|
-
link = http://www.ruby-lang.org/en/news
|
7
|
-
feed = http://www.ruby-lang.org/en/feeds/news.rss
|
8
|
-
|
9
|
-
[rubyonrails]
|
10
|
-
title = Ruby on Rails News
|
11
|
-
link = http://weblog.rubyonrails.org
|
12
|
-
feed = http://weblog.rubyonrails.org/feed/atom.xml
|
13
|
-
|