pla 0.4.0 → 0.5.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/README.md +8 -2
- data/lib/pla.rb +19 -10
- data/lib/pla/movement.rb +5 -0
- data/pla.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 13660d050b7cfa88aad173f305e762e0f9c77f84
|
4
|
+
data.tar.gz: 3ca8b095bd9e1e1d3ae4d796c2440f57564c9ac8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fbdbe48f1614219ceacfd49364d0195cfb8191b48fcd7b55f5416e119053eb77fffd445f23cca3dfa85b57d081133691196053b41bac424f926fc031ab89712
|
7
|
+
data.tar.gz: 782a7bff59d0c00654acea8837afac6da350b7ce264ea9b2222f634681f9d41af18182dba9cb7d8ffccdce5533f7ac4667f83b44bf0bcfa5cac895efa4c0e3fb
|
data/README.md
CHANGED
@@ -34,10 +34,10 @@ puts in_port
|
|
34
34
|
puts all
|
35
35
|
|
36
36
|
# Find next ten boats set to arrive
|
37
|
-
puts PLA.
|
37
|
+
puts PLA.sort_arrivals_by_timestamp[0..9]
|
38
38
|
|
39
39
|
# List vessels alphabetically, as per PLA website
|
40
|
-
puts PLA.
|
40
|
+
puts PLA.sort_all_by_vessel_name
|
41
41
|
|
42
42
|
# Find all movements made by Panamanian vessels
|
43
43
|
puts PLA.find_all_by_country 'Panama'
|
@@ -47,6 +47,12 @@ puts PLA.find_all_by_vessel_name 'feo swan'
|
|
47
47
|
|
48
48
|
# Listing the movements of a vessel by time
|
49
49
|
puts PLA.find_all_by_vessel_name('balmoral').sort_by{|s| s[:timestamp]}
|
50
|
+
|
51
|
+
# Find all vessels leaving a location
|
52
|
+
puts PLA.find_all_by_from('rotterdam')
|
53
|
+
|
54
|
+
# Likewise; all locations
|
55
|
+
puts PLA.find_all_by_location('rotterdam')
|
50
56
|
```
|
51
57
|
|
52
58
|
Licence
|
data/lib/pla.rb
CHANGED
@@ -26,7 +26,15 @@ class PLA
|
|
26
26
|
def self.find movement_type, field, key
|
27
27
|
if self.methods.include? movement_type
|
28
28
|
movements = self.send(movement_type)
|
29
|
-
|
29
|
+
|
30
|
+
if field == :location
|
31
|
+
return [
|
32
|
+
self.munge_by_field(movements, :select, :to, key),
|
33
|
+
self.munge_by_field(movements, :select, :from, key)
|
34
|
+
].flatten.uniq
|
35
|
+
else
|
36
|
+
return self.munge_by_field movements, :select, field, key
|
37
|
+
end
|
30
38
|
end
|
31
39
|
[]
|
32
40
|
end
|
@@ -56,22 +64,23 @@ class PLA
|
|
56
64
|
end
|
57
65
|
|
58
66
|
def self.method_missing(m, *args, &block)
|
59
|
-
if m.to_s =~ /^(.*)_by_(.*)$/
|
60
|
-
|
61
|
-
|
67
|
+
if m.to_s =~ /^(find|sort)_(.*)_by_(.*)$/
|
68
|
+
querier = $1
|
69
|
+
type = $2.to_sym
|
70
|
+
field = $3.to_sym
|
62
71
|
|
63
|
-
if
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
return self.sort(movement_type, field)
|
72
|
+
if querier == 'find'
|
73
|
+
return self.find(type, field, args.first)
|
74
|
+
elsif querier == 'sort'
|
75
|
+
return self.sort(type, field)
|
68
76
|
end
|
69
77
|
end
|
70
78
|
super
|
71
79
|
end
|
72
80
|
|
73
81
|
def self.respond_to?(method_sym, include_private = false)
|
74
|
-
if method_sym.to_s =~ /^(.*)_by_(.*)$/
|
82
|
+
if method_sym.to_s =~ /^(find|sort)_(.*)_by_(.*)$/ and
|
83
|
+
self.methods.include? $2.to_sym
|
75
84
|
true
|
76
85
|
else
|
77
86
|
super
|
data/lib/pla/movement.rb
CHANGED
@@ -10,6 +10,7 @@ class PLA
|
|
10
10
|
def to_h
|
11
11
|
normalise_timestamp!
|
12
12
|
normalise_vessel!
|
13
|
+
normalise_notes!
|
13
14
|
normalise_fields!
|
14
15
|
|
15
16
|
@record
|
@@ -48,6 +49,10 @@ class PLA
|
|
48
49
|
@record.delete(:at)
|
49
50
|
end
|
50
51
|
|
52
|
+
def normalise_notes!
|
53
|
+
@record[:notes].empty? ? @records[:notes] = nil : nil
|
54
|
+
end
|
55
|
+
|
51
56
|
def gen_date year, month, day, hour, minute
|
52
57
|
# Because the pla doesn't provide a year we run the risk of providing
|
53
58
|
# a date in the past if the data wraps around the end of the year.
|
data/pla.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pla
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jspc
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|