tricorder 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 +7 -0
- data/.gitignore +51 -0
- data/LICENSE +21 -0
- data/README.md +61 -0
- data/bin/tricorder +50 -0
- data/lib/dsl/operators/.rb +0 -0
- data/lib/dsl/operators/base_operators.rb +260 -0
- data/lib/dsl/operators/string.rb +9 -0
- data/lib/dsl/operators/tricorders.rb +68 -0
- data/lib/dsl/operators/tricorders/animal.rb +19 -0
- data/lib/dsl/operators/tricorders/astronomical_object.rb +19 -0
- data/lib/dsl/operators/tricorders/book.rb +19 -0
- data/lib/dsl/operators/tricorders/book_collection.rb +19 -0
- data/lib/dsl/operators/tricorders/book_series.rb +19 -0
- data/lib/dsl/operators/tricorders/character.rb +19 -0
- data/lib/dsl/operators/tricorders/comic_collection.rb +19 -0
- data/lib/dsl/operators/tricorders/comic_series.rb +19 -0
- data/lib/dsl/operators/tricorders/comic_strip.rb +19 -0
- data/lib/dsl/operators/tricorders/comics.rb +19 -0
- data/lib/dsl/operators/tricorders/company.rb +19 -0
- data/lib/dsl/operators/tricorders/conflict.rb +19 -0
- data/lib/dsl/operators/tricorders/element.rb +19 -0
- data/lib/dsl/operators/tricorders/episode.rb +19 -0
- data/lib/dsl/operators/tricorders/food.rb +19 -0
- data/lib/dsl/operators/tricorders/literature.rb +19 -0
- data/lib/dsl/operators/tricorders/location.rb +19 -0
- data/lib/dsl/operators/tricorders/magazine.rb +19 -0
- data/lib/dsl/operators/tricorders/magazine_series.rb +19 -0
- data/lib/dsl/operators/tricorders/material.rb +19 -0
- data/lib/dsl/operators/tricorders/medical_condition.rb +19 -0
- data/lib/dsl/operators/tricorders/movie.rb +19 -0
- data/lib/dsl/operators/tricorders/occupation.rb +19 -0
- data/lib/dsl/operators/tricorders/organization.rb +19 -0
- data/lib/dsl/operators/tricorders/performer.rb +19 -0
- data/lib/dsl/operators/tricorders/season.rb +19 -0
- data/lib/dsl/operators/tricorders/series.rb +19 -0
- data/lib/dsl/operators/tricorders/soundtrack.rb +19 -0
- data/lib/dsl/operators/tricorders/spacecraft.rb +19 -0
- data/lib/dsl/operators/tricorders/spacecraft_class.rb +19 -0
- data/lib/dsl/operators/tricorders/species.rb +19 -0
- data/lib/dsl/operators/tricorders/staff.rb +19 -0
- data/lib/dsl/operators/tricorders/technology.rb +19 -0
- data/lib/dsl/operators/tricorders/title.rb +19 -0
- data/lib/dsl/operators/tricorders/trading_card.rb +19 -0
- data/lib/dsl/operators/tricorders/trading_card_deck.rb +19 -0
- data/lib/dsl/operators/tricorders/trading_card_set.rb +19 -0
- data/lib/dsl/operators/tricorders/video_game.rb +19 -0
- data/lib/dsl/operators/tricorders/video_release.rb +19 -0
- data/lib/dsl/operators/tricorders/weapon.rb +19 -0
- data/lib/dsl/tricorder.rb +10 -0
- data/lib/dsl/tricorder_dsl.rb +23 -0
- data/lib/tricorder.rb +18 -0
- data/lib/version.rb +9 -0
- data/tricorder.gemspec +35 -0
- metadata +169 -0
@@ -0,0 +1,68 @@
|
|
1
|
+
Dir[File.join(File.dirname(__FILE__), 'tricorders/**/*.rb')].sort.reverse.each { |tricorder| require_relative tricorder }
|
2
|
+
|
3
|
+
module Tricorders
|
4
|
+
TRICORDERS = %i[animal comic_strip
|
5
|
+
element material
|
6
|
+
season technology
|
7
|
+
astronomical_object comics
|
8
|
+
episode medical_condition
|
9
|
+
series title
|
10
|
+
book food movie
|
11
|
+
soundtrack trading_card
|
12
|
+
book_collection company
|
13
|
+
occupation
|
14
|
+
spacecraft trading_card_deck
|
15
|
+
book_series conflict
|
16
|
+
literature organization
|
17
|
+
spacecraft_class trading_card_set
|
18
|
+
character
|
19
|
+
location performer
|
20
|
+
video_game
|
21
|
+
comic_collection
|
22
|
+
magazine platform
|
23
|
+
species video_release
|
24
|
+
comic_series
|
25
|
+
magazine_series reference
|
26
|
+
staff weapon].freeze
|
27
|
+
|
28
|
+
include Animal
|
29
|
+
include AstronomicalObject
|
30
|
+
include Book
|
31
|
+
include BookCollection
|
32
|
+
include BookSeries
|
33
|
+
include Characters
|
34
|
+
include ComicCollection
|
35
|
+
include ComicSeries
|
36
|
+
include ComicStrip
|
37
|
+
include Comics
|
38
|
+
include Company
|
39
|
+
include Conflict
|
40
|
+
include Element
|
41
|
+
include Episode
|
42
|
+
include Food
|
43
|
+
include Literature
|
44
|
+
include Location
|
45
|
+
include Magazine
|
46
|
+
include MagazineSeries
|
47
|
+
include Material
|
48
|
+
include MedicalCondition
|
49
|
+
include Movie
|
50
|
+
include Occupation
|
51
|
+
include Organization
|
52
|
+
include Performer
|
53
|
+
include Season
|
54
|
+
include Series
|
55
|
+
include Soundtrack
|
56
|
+
include Spacecraft
|
57
|
+
include SpacecraftClass
|
58
|
+
include Species
|
59
|
+
include Staff
|
60
|
+
include Technology
|
61
|
+
include Title
|
62
|
+
include TradingCard
|
63
|
+
include TradingCardDeck
|
64
|
+
include TradingCardSet
|
65
|
+
include VideoGame
|
66
|
+
include VideoRelease
|
67
|
+
include Weapon
|
68
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Animal
|
5
|
+
RESOURCE_NAME = 'animal'.freeze
|
6
|
+
COLLECTION_NAME = 'animals'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module AstronomicalObject
|
5
|
+
RESOURCE_NAME = 'astronomicalObject'.freeze
|
6
|
+
COLLECTION_NAME = 'astronomicalObjects'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Book
|
5
|
+
RESOURCE_NAME = 'book'.freeze
|
6
|
+
COLLECTION_NAME = 'books'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module BookCollection
|
5
|
+
RESOURCE_NAME = 'bookCollection'.freeze
|
6
|
+
COLLECTION_NAME = 'bookCollections'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module BookSeries
|
5
|
+
RESOURCE_NAME = 'bookSeries'.freeze
|
6
|
+
COLLECTION_NAME = 'bookSeries'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Characters
|
5
|
+
RESOURCE_NAME = 'character'.freeze
|
6
|
+
COLLECTION_NAME = 'characters'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module ComicCollection
|
5
|
+
RESOURCE_NAME = 'comicCollection'.freeze
|
6
|
+
COLLECTION_NAME = 'comicCollections'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module ComicSeries
|
5
|
+
RESOURCE_NAME = 'comicSeries'.freeze
|
6
|
+
COLLECTION_NAME = 'comicSeries'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module ComicStrip
|
5
|
+
RESOURCE_NAME = 'comicStrip'.freeze
|
6
|
+
COLLECTION_NAME = 'comicStrips'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Comics
|
5
|
+
RESOURCE_NAME = 'comics'.freeze
|
6
|
+
COLLECTION_NAME = 'comics'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Company
|
5
|
+
RESOURCE_NAME = 'company'.freeze
|
6
|
+
COLLECTION_NAME = 'companies'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Conflict
|
5
|
+
RESOURCE_NAME = 'conflict'.freeze
|
6
|
+
COLLECTION_NAME = 'conflicts'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Element
|
5
|
+
RESOURCE_NAME = 'element'.freeze
|
6
|
+
COLLECTION_NAME = 'elements'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Episode
|
5
|
+
RESOURCE_NAME = 'episode'.freeze
|
6
|
+
COLLECTION_NAME = 'episodes'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Food
|
5
|
+
RESOURCE_NAME = 'food'.freeze
|
6
|
+
COLLECTION_NAME = 'foods'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Literature
|
5
|
+
RESOURCE_NAME = 'literature'.freeze
|
6
|
+
COLLECTION_NAME = 'literature'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Location
|
5
|
+
RESOURCE_NAME = 'location'.freeze
|
6
|
+
COLLECTION_NAME = 'locations'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require_relative '../../tricorder'
|
2
|
+
require_relative '../../tricorder_dsl'
|
3
|
+
|
4
|
+
module Magazine
|
5
|
+
RESOURCE_NAME = 'magazine'.freeze
|
6
|
+
COLLECTION_NAME = 'magazines'.freeze
|
7
|
+
NAME = RESOURCE_NAME.underscore
|
8
|
+
API_PATH = Tricorder::BASE_URL + "/#{RESOURCE_NAME}"
|
9
|
+
|
10
|
+
private_constant :API_PATH, :RESOURCE_NAME, :COLLECTION_NAME, :NAME
|
11
|
+
|
12
|
+
define_method("search_#{NAME}".to_sym) do
|
13
|
+
set_tricorder(NAME.to_sym)
|
14
|
+
set_collection(COLLECTION_NAME)
|
15
|
+
set_path(API_PATH)
|
16
|
+
search
|
17
|
+
self
|
18
|
+
end
|
19
|
+
end
|