ons_openapi 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/LICENSE +22 -0
- data/README.md +218 -0
- data/lib/ons_openapi/classification.rb +10 -0
- data/lib/ons_openapi/collection.rb +151 -0
- data/lib/ons_openapi/concept.rb +6 -0
- data/lib/ons_openapi/connection.rb +65 -0
- data/lib/ons_openapi/context.rb +106 -0
- data/lib/ons_openapi/data_helper.rb +5 -0
- data/lib/ons_openapi/dimension.rb +46 -0
- data/lib/ons_openapi/geographical_hierarchy.rb +6 -0
- data/lib/ons_openapi/item.rb +13 -0
- data/lib/ons_openapi/name_helper.rb +7 -0
- data/lib/ons_openapi/url_helper.rb +12 -0
- data/lib/ons_openapi/value.rb +17 -0
- data/lib/ons_openapi.rb +65 -0
- data/vendor/json-stat.max.js +697 -0
- metadata +120 -0
@@ -0,0 +1,17 @@
|
|
1
|
+
class OnsOpenApi::Value
|
2
|
+
|
3
|
+
include Morph
|
4
|
+
|
5
|
+
def values
|
6
|
+
keys = methods.select{|x| x[/^_\d+$/]}
|
7
|
+
keys.each_with_object([]) {|k,a| index = Integer(k.to_s.sub('_','')) ; a[index] = send(k) }
|
8
|
+
end
|
9
|
+
|
10
|
+
def labelled_values dimension
|
11
|
+
labels = dimension.labels
|
12
|
+
list = []
|
13
|
+
values.each_with_index {|v,i| list << [labels[i], v]}
|
14
|
+
list
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
data/lib/ons_openapi.rb
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
# coding:utf-8
|
2
|
+
require 'net/http'
|
3
|
+
require 'net/https'
|
4
|
+
require 'uri'
|
5
|
+
|
6
|
+
# begin
|
7
|
+
# # require 'active_support' # new gem name
|
8
|
+
# require 'active_support/core_ext/time'
|
9
|
+
# require 'active_support/core_ext/date'
|
10
|
+
# require 'active_support/core_ext/enumerable'
|
11
|
+
# require 'active_support/core_ext/hash'
|
12
|
+
# require 'active_support/core_ext/kernel'
|
13
|
+
# require 'active_support/deprecation'
|
14
|
+
# rescue Exception => e
|
15
|
+
# puts "exception requiring active_support: " + e.to_s
|
16
|
+
# require 'activesupport' # fallback to old gem name
|
17
|
+
# end
|
18
|
+
|
19
|
+
require 'morph'
|
20
|
+
require 'yaml'
|
21
|
+
|
22
|
+
require 'json'
|
23
|
+
require 'csv'
|
24
|
+
require 'rack/utils'
|
25
|
+
# require 'v8'
|
26
|
+
require 'execjs'
|
27
|
+
require 'open-uri'
|
28
|
+
|
29
|
+
# See README for usage documentation.
|
30
|
+
module OnsOpenApi
|
31
|
+
|
32
|
+
VERSION = "0.1.0" unless defined? OnsOpenApi::VERSION
|
33
|
+
|
34
|
+
class << self
|
35
|
+
|
36
|
+
# Returns ONS dataset contexts
|
37
|
+
def contexts
|
38
|
+
Context.all
|
39
|
+
end
|
40
|
+
|
41
|
+
# Returns ONS dataset context with given name
|
42
|
+
def context name
|
43
|
+
contexts.detect{|c| c.name == name}
|
44
|
+
end
|
45
|
+
|
46
|
+
# Returns names of ONS dataset contexts
|
47
|
+
def context_names
|
48
|
+
contexts.map(&:name)
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
require File.dirname(__FILE__) + '/ons_openapi/connection'
|
55
|
+
require File.dirname(__FILE__) + '/ons_openapi/url_helper'
|
56
|
+
require File.dirname(__FILE__) + '/ons_openapi/name_helper'
|
57
|
+
require File.dirname(__FILE__) + '/ons_openapi/data_helper'
|
58
|
+
require File.dirname(__FILE__) + '/ons_openapi/context'
|
59
|
+
require File.dirname(__FILE__) + '/ons_openapi/collection'
|
60
|
+
require File.dirname(__FILE__) + '/ons_openapi/concept'
|
61
|
+
require File.dirname(__FILE__) + '/ons_openapi/dimension'
|
62
|
+
require File.dirname(__FILE__) + '/ons_openapi/value'
|
63
|
+
require File.dirname(__FILE__) + '/ons_openapi/geographical_hierarchy'
|
64
|
+
require File.dirname(__FILE__) + '/ons_openapi/item'
|
65
|
+
|