rubycat 0.0.1 → 0.1.0
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/.gemtest +0 -0
- data/Manifest.txt +6 -0
- data/Rakefile +1 -1
- data/lib/rubycat/card.rb +60 -0
- data/lib/rubycat/catalog.rb +40 -0
- data/lib/rubycat/version.rb +2 -2
- data/lib/rubycat.rb +2 -0
- data/test/data/RUBY.md +157 -0
- data/test/helper.rb +9 -0
- data/test/test_reader.rb +34 -0
- data/test/test_version.rb +18 -0
- metadata +13 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f74c79895ee48e5b1e1cfb023028b2ec00fdd19
|
4
|
+
data.tar.gz: a9c8709bfb94a8fad89e2cdb2a882c1e5246b44b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1684e88af7af86212fc31e5b681aa9c1d84b2440de20f4141d0b8c01d91b0055ff238d5ad59abcc17e79dcfac437be3e5eabc9fb06ac909666e5d033c682d0e
|
7
|
+
data.tar.gz: f984352a7b026c94904986571e1eb3dbd55b700d4f78b70f1e9b7bd56b6f416190719ee2974ed6dc5ab0ab4d0a7cbcb68ed534bd4732eaa5fcffb11cee27c490
|
data/.gemtest
ADDED
File without changes
|
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
data/lib/rubycat/card.rb
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module RubyCat
|
4
|
+
|
5
|
+
|
6
|
+
class Card
|
7
|
+
|
8
|
+
attr_reader :name # e.g. sinatra
|
9
|
+
attr_reader :gem_url # e.g. https://rubygems.org/gems/sinatra
|
10
|
+
attr_reader :github_url # e.g. https://github.com/sinatra/sinatra
|
11
|
+
attr_reader :categories # e.g.
|
12
|
+
|
13
|
+
|
14
|
+
def initialize( card )
|
15
|
+
@categories = card.categories
|
16
|
+
@name = nil
|
17
|
+
|
18
|
+
## todo/fix: lotus/lotusrb - fix: make gem name higher priority
|
19
|
+
## for now uses github name
|
20
|
+
## also check/fallback to rubygems name (if no github entry)
|
21
|
+
|
22
|
+
github_link = card.links.find {|it| it[0].include?( ':octocat:') }
|
23
|
+
|
24
|
+
if github_link
|
25
|
+
@github_url = github_link[1]
|
26
|
+
|
27
|
+
## check if org (shortcut)
|
28
|
+
uri = URI.parse( @github_url )
|
29
|
+
puts " uri.path: #{uri.path}"
|
30
|
+
##
|
31
|
+
names = uri.path[1..-1].split('/') ## cut off leading / and split
|
32
|
+
pp names
|
33
|
+
|
34
|
+
## if single name (duplicate - downcased! e.g. Ramaze => Ramaze/ramaze)
|
35
|
+
if names.size == 1
|
36
|
+
@github_url += "/#{names[0].downcase}"
|
37
|
+
@name = names[0].downcase
|
38
|
+
else
|
39
|
+
@name = names[1]
|
40
|
+
end
|
41
|
+
puts "github_url: #{@github_url}"
|
42
|
+
else
|
43
|
+
puts "*** no github_url found"
|
44
|
+
pp card
|
45
|
+
end
|
46
|
+
|
47
|
+
gem_link = card.links.find {|it| it[0] == ':gem:' }
|
48
|
+
if gem_link
|
49
|
+
@gem_url = gem_link[1]
|
50
|
+
puts "gem_url: #{@gem_url}"
|
51
|
+
else
|
52
|
+
puts "*** no gem_url found"
|
53
|
+
pp card
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end ## class Card
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
end # module RubyCat
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module RubyCat
|
4
|
+
|
5
|
+
|
6
|
+
class Catalog
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
@cards = []
|
10
|
+
end
|
11
|
+
|
12
|
+
def add( cards )
|
13
|
+
@cards += cards.map { |card| Card.new(card) } ## convert to RubyCat card
|
14
|
+
end
|
15
|
+
|
16
|
+
def render
|
17
|
+
## render to json
|
18
|
+
puts "--snip--"
|
19
|
+
|
20
|
+
ary = []
|
21
|
+
|
22
|
+
@cards.each do |card|
|
23
|
+
h = {
|
24
|
+
name: card.name,
|
25
|
+
gem_url: card.gem_url,
|
26
|
+
github_url: card.github_url,
|
27
|
+
categories: card.categories
|
28
|
+
}
|
29
|
+
pp h
|
30
|
+
ary << h
|
31
|
+
end
|
32
|
+
|
33
|
+
puts "--snip--"
|
34
|
+
puts JSON.pretty_generate( ary )
|
35
|
+
end
|
36
|
+
|
37
|
+
end ## class Catalog
|
38
|
+
|
39
|
+
|
40
|
+
end # module RubyCat
|
data/lib/rubycat/version.rb
CHANGED
data/lib/rubycat.rb
CHANGED
data/test/data/RUBY.md
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
Awesome Series @ Planet Ruby
|
2
|
+
|
3
|
+
[Rubies (Virtual Machines, Compilers, ...)](https://github.com/planetruby/awesome-rubies) •
|
4
|
+
[ActiveRecord](https://github.com/planetruby/awesome-activerecord) •
|
5
|
+
[Webframeworks (Micro, Macro, APIs, ...)](https://github.com/planetruby/awesome-webframeworks) •
|
6
|
+
[Static Generators (Sites, Books, Presentations, ...)](https://github.com/planetruby/awesome-staticgen) •
|
7
|
+
[Events (Conferences, Camps, Meetups, ...)](https://github.com/planetruby/awesome-events) •
|
8
|
+
[Blogs (News, Opinions, Podcasts, ...)](https://github.com/planetruby/awesome-blogs)
|
9
|
+
|
10
|
+
|
11
|
+
# Webframeworks
|
12
|
+
|
13
|
+
A collection of awesome Ruby web frameworks, libraries, tools, etc.
|
14
|
+
|
15
|
+
|
16
|
+
Note: :gem: stands for the RubyGems page, :octocat: stands for the GitHub page and :book: stands for the RubyDoc page.
|
17
|
+
|
18
|
+
---
|
19
|
+
|
20
|
+
[ANNOUNCEMENT] Looking for awesome Ruby Gems? See the [Ruby Gems of the Week Series @ Planet Ruby](http://planetruby.github.io/gems).
|
21
|
+
|
22
|
+
---
|
23
|
+
|
24
|
+
Contributions welcome. Anything missing? Send in a pull request. Thanks.
|
25
|
+
|
26
|
+
|
27
|
+
[Rack](#rack) •
|
28
|
+
[Rack Alternatives](#rack-alternatives) •
|
29
|
+
[Ruby on Rails](#ruby-on-rails) •
|
30
|
+
[Sinatra](#sinatra) •
|
31
|
+
[Volt](#volt) •
|
32
|
+
[Async Web (Socket) Frameworks](#async-web-socket-frameworks) •
|
33
|
+
[Web Service Frameworks](#web-service-frameworks) •
|
34
|
+
[Micro Framework Alternatives](#micro-framework-alternatives) •
|
35
|
+
["Full Stack" Macro Framework Alternatives](#full-stack-macro-framework-alternatives) •
|
36
|
+
[Meta](#meta)
|
37
|
+
|
38
|
+
|
39
|
+
## Rack
|
40
|
+
|
41
|
+
- [Rack HQ](http://rack.github.io) - [:octocat:](https://github.com/rack), [:gem:](https://rubygems.org/gems/rack), [:book:](http://rubydoc.info/gems/rack)
|
42
|
+
|
43
|
+
## Rack Alternatives
|
44
|
+
|
45
|
+
- [the_metal :octocat:](https://github.com/tenderlove/the_metal) - a spike for thoughts about Rack 2.0
|
46
|
+
|
47
|
+
## Ruby on Rails
|
48
|
+
|
49
|
+
_Batteries Included "Full Stack" Macro Framework_
|
50
|
+
|
51
|
+
- [Ruby on Rails HQ](http://rubyonrails.org) - [:octocat:](https://github.com/rails), [:gem:](https://rubygems.org/gems/rails), [:book:](http://rubydoc.info/gems/rails)
|
52
|
+
- [News & Updates](http://weblog.rubyonrails.org)
|
53
|
+
|
54
|
+
Extensions:
|
55
|
+
|
56
|
+
- [Hobo HQ](http://hobocentral.net) - [:octocat:](https://github.com/Hobo), [:gem:](https://rubygems.org/gems/hobo), [:book:](http://rubydoc.info/gems/hobo)
|
57
|
+
- [News & Updates](http://hobocentral.net/blog)
|
58
|
+
|
59
|
+
Future:
|
60
|
+
|
61
|
+
- [Trailblazer](http://trailblazerb.org), [:octocat:](https://github.com/apotonick/trailblazer), [:gem:](https://rubygems.org/gems/trailblazer), [:book:](http://rubydoc.info/gems/trailblazer) - a thin layer on top of rails - (gently) enforces encapsulation, a "more" intuitive code structure and giving you a "better" object-oriented architecture by Nick Sutterer et al
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
## Sinatra
|
66
|
+
|
67
|
+
_Micro Framework_
|
68
|
+
|
69
|
+
- [Sinatra HQ](http://sinatrarb.com) - [:octocat:](https://github.com/sinatra), [:gem:](https://rubygems.org/gems/sinatra), [:book:](http://rubydoc.info/gems/sinatra)
|
70
|
+
|
71
|
+
Extensions:
|
72
|
+
|
73
|
+
- [Padrino HQ](http://padrinorb.com) - [:octocat:](https://github.com/padrino), [:gem:](https://rubygems.org/gems/padrino), [:book:](http://rubydoc.info/gems/padrino)
|
74
|
+
- [News & Updates](http://www.padrinorb.com/blog)
|
75
|
+
|
76
|
+
Fun / Hack:
|
77
|
+
|
78
|
+
- [Almost Sinatra :octocat:](https://github.com/rkh/almost-sinatra) - Sinatra refactored, only six lines of code by Konstantin Haase
|
79
|
+
|
80
|
+
Future:
|
81
|
+
|
82
|
+
- [Mustermann](http://rkh.github.io/mustermann), [:octocat:](https://github.com/rkh/mustermann) - your personal string matching expert; can be used as a plugin for Sinatra 1.x and will power Sinatra 2.0; by Konstantin Haase et al
|
83
|
+
|
84
|
+
|
85
|
+
## Volt
|
86
|
+
|
87
|
+
_Client/Server Isomorphic Framework_
|
88
|
+
|
89
|
+
- [Volt HQ](http://voltframework.com) - [:octocat:](https://github.com/voltrb), [:gem:](https://rubygems.org/gems/volt), [:book:](http://rubydoc.info/gems/volt)
|
90
|
+
- [News & Updates](http://voltframework.com/blog)
|
91
|
+
|
92
|
+
## Async Web (Socket) Frameworks
|
93
|
+
|
94
|
+
- [Cramp :octocat:](https://github.com/lifo/cramp), [:gem:](https://rubygems.org/gems/cramp) - a fully asynchronous realtime web application framework built on top of event machine; providing full-duplex bi-directional communication by Pratik Naik
|
95
|
+
|
96
|
+
- [Lattice :octocat:](https://github.com/celluloid/lattice), [:gem:](https://rubygems.org/gems/lattice), [:book:](http://rubydoc.info/gems/lattice) - an actor-based web framework built on top of celluloid, reel, and webmachine; designed for realtime apps, end-to-end streaming, and websockets by Tony Arcieri et al
|
97
|
+
|
98
|
+
|
99
|
+
|
100
|
+
## Web Service Frameworks
|
101
|
+
|
102
|
+
_JSON HTTP API Builder_
|
103
|
+
|
104
|
+
- [Grape](http://intridea.github.io/grape) - [:octocat:](https://github.com/intridea/grape), [:gem:](https://rubygems.org/gems/grape), [:book:](http://rubydoc.info/gems/grape) - a micro-framework for creating REST-like APIs
|
105
|
+
- [Crêpe :octocat:](https://github.com/crepe) - [:gem:](https://rubygems.org/gems/crepe) - a thin API stack
|
106
|
+
- [Yaks :octocat:](https://github.com/plexus/yaks) - [:gem:](https://rubygems.org/gems/yaks), [:book:](http://rubydoc.info/gems/yaks) - serialize to hypermedia. HAL, JSON API, HALO, collection+JSON etc. by Arne Brasseur et al
|
107
|
+
- [Praxis](http://praxis-framework.io) - [:octocat:](https://github.com/rightscale/praxis), [:gem:](https://rubygems.org/gems/praxis), [:book:](http://rubydoc.info/gems/praxis) - a micro framework focusing on the design and coding aspects of creating good APIs quick by Josep M. Blanquer et al
|
108
|
+
|
109
|
+
## Micro Framework Alternatives
|
110
|
+
|
111
|
+
- [Rum :octocat:](https://github.com/chneukirchen/rum) - gRand Unified Mapper for rack apps by Christian Neukirchen
|
112
|
+
- [Cuba](http://cuba.is) - [:octocat:](https://github.com/soveran/cuba), [:gem:](https://rubygems.org/gems/cuba), [:book:](http://rubydoc.info/gems/cuba) - tiny but powerful mapper for rack apps by Michel Martens
|
113
|
+
- [New York, New York (NYNY)](http://alisnic.github.io/nyny) - [:octocat:](https://github.com/alisnic/nyny), [:gem:](https://rubygems.org/gems/nyny), [:book:](http://rubydoc.info/gems/nyny) - a tiny (~300 lines of code) web framework on top of rack by Andrei Lisnic
|
114
|
+
- [Roda](http://roda.jeremyevans.net) - [:octocat:](https://github.com/jeremyevans/roda), [:gem:](https://rubygems.org/gems/roda), [:book:](http://rubydoc.info/gems/roda) - a routing tree web framework toolkit by Jeremy Evans
|
115
|
+
- [Hobbit :octocat:](https://github.com/patriciomacadden/hobbit), [:gem:](https://rubygems.org/gems/hobbit), [:book:](http://rubydoc.info/gems/hobbit) - a minimalistic microframework built on top of rack by Patricio Mac Adden
|
116
|
+
- [Brooklyn :octocat:](https://github.com/luislavena/brooklyn) - a small web tool on top of rack by Luis Lavena
|
117
|
+
- [Nancy](http://guilleiguaran.github.io/nancy), [:octocat:](https://github.com/guilleiguaran/nancy), [:gem:](https://rubygems.org/gems/nancy), [:book:](http://rubydoc.info/gems/nancy) - Sinatra's little daughter by Guillermo Iguaran
|
118
|
+
- [Camping](http://camping.io), [:octocat:](https://github.com/camping), [:gem:](https://rubygems.org/gems/camping), [:book:](http://www.rubydoc.info/gems/camping) - minature rails for stay-at-home moms; the 4k pocket full-of-gags web microframework
|
119
|
+
- [Scorched](http://scorchedrb.com), [:octocat:](https://github.com/Wardrop/Scorched), [:gem:](https://rubygems.org/gems/scorched), [:book:](http://rubydoc.info/gems/scorched) - light-weight, DRY as a desert, web framework by Tom Wardrop et al
|
120
|
+
|
121
|
+
|
122
|
+
<!--
|
123
|
+
more
|
124
|
+
Kenji - https://github.com/kballenegger/kenji ??
|
125
|
+
-->
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
## "Full Stack" Macro Framework Alternatives
|
130
|
+
|
131
|
+
- [Lotus HQ](http://lotusrb.org) - [:octocat:](https://github.com/lotus), [:gem:](https://rubygems.org/gems/lotusrb), [:book:](http://rubydoc.info/gems/lotusrb) - a complete web framework; bringing back object-oriented programming to web development, leveraging a stable API, minimal DSL and plain objects by Luca Guidi et al
|
132
|
+
- [News & Updates](http://lotusrb.org/blog)
|
133
|
+
|
134
|
+
<!-- new list -->
|
135
|
+
|
136
|
+
- [Pakyow HQ](http://pakyow.org) - [:octocat:](https://github.com/pakyow), [:gem:](https://rubygems.org/gems/pakyow) - an open-source framework for the modern web with a view-first development process that's friendly to everyone whether you're a designer or a developer
|
137
|
+
- [News & Updates](http://pakyow.org/blog)
|
138
|
+
|
139
|
+
<!-- new list -->
|
140
|
+
|
141
|
+
- [Ramaze HQ](http://ramaze.net) - [:octocat:](https://github.com/Ramaze), [:gem:](https://rubygems.org/gems/ramaze), [:book:](http://rubydoc.info/gems/ramaze) - a simple, light and modular open-source web application framework by Michael Fellinger et al
|
142
|
+
- [News & Updates](http://ramaze.net/blog)
|
143
|
+
|
144
|
+
## Thanks
|
145
|
+
|
146
|
+
Josep M. Blanquer
|
147
|
+
|
148
|
+
## Meta
|
149
|
+
|
150
|
+
**License**
|
151
|
+
|
152
|
+
The awesome list is dedicated to the public domain. Use it as you please with no restrictions whatsoever.
|
153
|
+
|
154
|
+
**Questions? Comments?**
|
155
|
+
|
156
|
+
Send them along to the ruby-talk mailing list. Thanks!
|
157
|
+
|
data/test/helper.rb
ADDED
data/test/test_reader.rb
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_reader.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestReader < MiniTest::Test
|
12
|
+
|
13
|
+
def test_ruby
|
14
|
+
|
15
|
+
r = CatalogDb::CardReader.from_file( "#{CatalogDb.root}/test/data/RUBY.md" )
|
16
|
+
cards = r.read
|
17
|
+
|
18
|
+
pp cards
|
19
|
+
|
20
|
+
c = cards[0]
|
21
|
+
|
22
|
+
assert_equal [["Rack HQ", "http://rack.github.io"],
|
23
|
+
[":octocat:", "https://github.com/rack"],
|
24
|
+
[":gem:", "https://rubygems.org/gems/rack"],
|
25
|
+
[":book:", "http://rubydoc.info/gems/rack"]], c.links
|
26
|
+
|
27
|
+
assert_equal 'Webframeworks › Rack', c.categories
|
28
|
+
|
29
|
+
cat = RubyCat::Catalog.new
|
30
|
+
cat.add( cards )
|
31
|
+
cat.render
|
32
|
+
end
|
33
|
+
|
34
|
+
end # class TestReader
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_version.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
class TestVersion < MiniTest::Test
|
11
|
+
|
12
|
+
def test_version
|
13
|
+
assert_equal RubyCat::VERSION, RubyCat.version
|
14
|
+
assert true # if we get here - test success
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
end # class TestVersion
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubycat
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: fetcher
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -90,12 +90,19 @@ extra_rdoc_files:
|
|
90
90
|
- Manifest.txt
|
91
91
|
- README.md
|
92
92
|
files:
|
93
|
+
- ".gemtest"
|
93
94
|
- HISTORY.md
|
94
95
|
- Manifest.txt
|
95
96
|
- README.md
|
96
97
|
- Rakefile
|
97
98
|
- lib/rubycat.rb
|
99
|
+
- lib/rubycat/card.rb
|
100
|
+
- lib/rubycat/catalog.rb
|
98
101
|
- lib/rubycat/version.rb
|
102
|
+
- test/data/RUBY.md
|
103
|
+
- test/helper.rb
|
104
|
+
- test/test_reader.rb
|
105
|
+
- test/test_version.rb
|
99
106
|
homepage: https://github.com/textkit/rubycat
|
100
107
|
licenses:
|
101
108
|
- Public Domain
|
@@ -123,4 +130,6 @@ signing_key:
|
|
123
130
|
specification_version: 4
|
124
131
|
summary: rubycat - ruby (library) catalog (cards) command line tool (using the catalog.db
|
125
132
|
machinery)
|
126
|
-
test_files:
|
133
|
+
test_files:
|
134
|
+
- test/test_version.rb
|
135
|
+
- test/test_reader.rb
|