parliament-utils 0.8.4 → 0.8.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/parliament/utils/config/initializers/airbrake.rb +1 -3
- data/lib/parliament/utils/helpers/application_helper.rb +38 -38
- data/lib/parliament/utils/helpers/filter_helper.rb +3 -3
- data/lib/parliament/utils/helpers/houses_helper.rb +73 -71
- data/lib/parliament/utils/helpers/postcode_helper.rb +0 -1
- data/lib/parliament/utils/helpers/request_helper.rb +2 -2
- data/lib/parliament/utils/helpers/translation_helper.rb +1 -1
- data/lib/parliament/utils/helpers/v_card_helper.rb +6 -2
- data/lib/parliament/utils/services/markdown_converter.rb +1 -1
- data/lib/parliament/utils/services/markdown_scrubber.rb +2 -2
- data/lib/parliament/utils/test_helpers/bandiera_helper.rb +2 -2
- data/lib/parliament/utils/test_helpers/rails_helper.rb +24 -24
- data/lib/parliament/utils/test_helpers/rspec_helper.rb +55 -56
- data/lib/parliament/utils/test_helpers/simplecov_helper.rb +9 -5
- data/lib/parliament/utils/test_helpers/vcr_helper.rb +2 -2
- data/lib/parliament/utils/test_helpers/webmock_helper.rb +1 -1
- data/lib/parliament/utils/version.rb +1 -1
- metadata +2 -3
- data/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a93c4e7d7614401ed2be2cce1d75216064cb8a05
|
4
|
+
data.tar.gz: 6d4483d22db5f03fdbf05d93e1f9d8aee233b45c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ee2a42fb6a4f7bc3c03ed3f2c8be735a82a280adbe1f7f2a3a77a9f1fa0efe4d164de7dfdb82933cbcf8afeed1ebc932040cb27611443feac6a734054e6936d
|
7
|
+
data.tar.gz: bf8f28a614588820653311e0a56c0ad51a53acfc6f87001798e0f8497b6482bb89248f196e43ceacd5be3326c0fa8c3f24066212271f8ad480bea20ffc667f92
|
@@ -62,9 +62,7 @@ if defined?(Airbrake) && ENV['AIRBRAKE_PROJECT_ID'].present? && ENV['AIRBRAKE_PR
|
|
62
62
|
# Airbrake. This can be based on type, message, file, region or any other part
|
63
63
|
# of the error's JSON
|
64
64
|
Airbrake.add_filter do |notice|
|
65
|
-
if notice[:errors].any? { |error| error[:type] == 'ActionController::RoutingError' }
|
66
|
-
notice.ignore!
|
67
|
-
end
|
65
|
+
notice.ignore! if notice[:errors].any? { |error| error[:type] == 'ActionController::RoutingError' }
|
68
66
|
end
|
69
67
|
|
70
68
|
# If you want to convert your log messages to Airbrake errors, we offer an
|
@@ -7,47 +7,47 @@ module Parliament
|
|
7
7
|
# Note: All of the below are used to generate MIME types that our application will answer to, but NOT the
|
8
8
|
# alternatives shown in our header. See ALTERNATIVE_MIME_TYPE_CONFIG.
|
9
9
|
API_MIME_TYPE_CONFIG = [
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
10
|
+
{
|
11
|
+
nt: 'application/n-triples'
|
12
|
+
},
|
13
|
+
{
|
14
|
+
ttl: 'text/turtle'
|
15
|
+
},
|
16
|
+
{
|
17
|
+
tsv: 'text/tab-separated-values'
|
18
|
+
},
|
19
|
+
{
|
20
|
+
csv: 'text/csv'
|
21
|
+
},
|
22
|
+
{
|
23
|
+
rj: 'application/json+rdf'
|
24
|
+
},
|
25
|
+
{
|
26
|
+
jsonld: 'application/json+ld',
|
27
|
+
json: 'application/json'
|
28
|
+
},
|
29
|
+
{
|
30
|
+
rdfxml: 'application/rdf+xml',
|
31
|
+
rdf: 'application/xml',
|
32
|
+
xml: 'text/xml'
|
33
|
+
}
|
34
34
|
].freeze
|
35
35
|
|
36
36
|
# Use the above, minus the last two entries (json & xml), to build an alternative URL list.
|
37
37
|
# Then re-create JSON and XML with the correct alternatives
|
38
|
-
ALTERNATIVE_MIME_TYPE_CONFIG = API_MIME_TYPE_CONFIG.take(API_MIME_TYPE_CONFIG.size-2).concat(
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
38
|
+
ALTERNATIVE_MIME_TYPE_CONFIG = API_MIME_TYPE_CONFIG.take(API_MIME_TYPE_CONFIG.size - 2).concat(
|
39
|
+
[
|
40
|
+
{
|
41
|
+
json: 'application/json+ld'
|
42
|
+
},
|
43
|
+
{
|
44
|
+
xml: 'application/rdf+xml'
|
45
|
+
}
|
46
|
+
]
|
47
47
|
)
|
48
48
|
|
49
|
-
API_MIME_TYPES = Parliament::Utils::Helpers::ApplicationHelper::API_MIME_TYPE_CONFIG.map
|
50
|
-
API_FILE_EXTENSIONS = Parliament::Utils::Helpers::ApplicationHelper::API_MIME_TYPE_CONFIG.map
|
49
|
+
API_MIME_TYPES = Parliament::Utils::Helpers::ApplicationHelper::API_MIME_TYPE_CONFIG.map(&:values).flatten.freeze
|
50
|
+
API_FILE_EXTENSIONS = Parliament::Utils::Helpers::ApplicationHelper::API_MIME_TYPE_CONFIG.map(&:keys).flatten.freeze
|
51
51
|
ALTERNATIVE_MIME_TYPES_FLATTENED = Parliament::Utils::Helpers::ApplicationHelper::ALTERNATIVE_MIME_TYPE_CONFIG.reduce(:merge)
|
52
52
|
|
53
53
|
# Sets the title for a page.
|
@@ -58,6 +58,7 @@ module Parliament
|
|
58
58
|
content_for(:title) { page_title }
|
59
59
|
page_title
|
60
60
|
end
|
61
|
+
|
61
62
|
# Before every request that provides data, see if the user is requesting a format that can be served by the data API.
|
62
63
|
# If they are, transparently redirect them with a '302: Found' status code
|
63
64
|
def data_check
|
@@ -81,7 +82,7 @@ module Parliament
|
|
81
82
|
request_extension = File.extname(URI.parse(request.url).path)
|
82
83
|
redirect_url.path = redirect_url.path + request_extension if request_extension != ''
|
83
84
|
|
84
|
-
|
85
|
+
redirect_to(redirect_url.to_s)
|
85
86
|
end
|
86
87
|
|
87
88
|
# Get the data URL for our current controller and action OR raise a StandardError
|
@@ -107,7 +108,7 @@ module Parliament
|
|
107
108
|
alternates = []
|
108
109
|
|
109
110
|
ALTERNATIVE_MIME_TYPES_FLATTENED.each do |extension, format| # (key, value)
|
110
|
-
uri =
|
111
|
+
uri = URI.parse(url)
|
111
112
|
uri.path = "#{uri.path}.#{extension}"
|
112
113
|
|
113
114
|
alternates << { type: format, href: uri.to_s }
|
@@ -127,7 +128,6 @@ module Parliament
|
|
127
128
|
def reset_alternates
|
128
129
|
Pugin.alternates = []
|
129
130
|
end
|
130
|
-
|
131
131
|
end
|
132
132
|
end
|
133
133
|
end
|
@@ -10,7 +10,7 @@ module Parliament
|
|
10
10
|
#
|
11
11
|
# @return [Parliament::Response::NTripleResponse] Ntriple response filtered by types
|
12
12
|
def self.filter(request, *types)
|
13
|
-
types_to_filter =
|
13
|
+
types_to_filter = filter_types(*types)
|
14
14
|
Parliament::Utils::Helpers::RequestHelper.filter_response_data(
|
15
15
|
request, *types_to_filter
|
16
16
|
)
|
@@ -46,10 +46,10 @@ module Parliament
|
|
46
46
|
#
|
47
47
|
# @return [Parliament::Response::NTripleResponse] Ntriple response filtered by letters
|
48
48
|
def self.filter_sort(request, sort_type, type, letters)
|
49
|
-
type, letters =
|
49
|
+
type, letters = filter(request, type, letters)
|
50
50
|
type = type.sort_by(sort_type)
|
51
51
|
letters = letters.map(&:value)
|
52
|
-
|
52
|
+
[type, letters]
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -2,77 +2,79 @@ module Parliament
|
|
2
2
|
module Utils
|
3
3
|
module Helpers
|
4
4
|
module HousesHelper
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
5
|
+
class << self
|
6
|
+
# Checks if house is the House of Commons and sets @commons_id and @lords_id if not already set.
|
7
|
+
#
|
8
|
+
# @param [Grom::Node] house a Grom::Node with type https://id.parliament.uk/schema/House.
|
9
|
+
# @return [Boolean] boolean depending on whether the house has the same id as the House of Commons.
|
10
|
+
def commons?(house)
|
11
|
+
set_ids
|
12
|
+
|
13
|
+
house.graph_id == @commons_id
|
14
|
+
end
|
15
|
+
|
16
|
+
# Checks if house is the House of Lords and sets @commons_id and @lords_id if not already set.
|
17
|
+
#
|
18
|
+
# @param [Grom::Node] house a Grom::Node with type https://id.parliament.uk/schema/House.
|
19
|
+
# @return [Boolean] boolean depending on whether the house has the same id as the House of Lords.
|
20
|
+
def lords?(house)
|
21
|
+
!commons?(house)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Sets and returns the id for the House of Commons.
|
25
|
+
#
|
26
|
+
# @return [String] @commons_id the id for the House of Commons.
|
27
|
+
def commons_id
|
28
|
+
set_ids
|
29
|
+
|
30
|
+
@commons_id
|
31
|
+
end
|
32
|
+
|
33
|
+
# Sets and returns the id for the House of Lords.
|
34
|
+
#
|
35
|
+
# @return [String] @lords_id the id for the House of Lords.
|
36
|
+
def lords_id
|
37
|
+
set_ids
|
38
|
+
|
39
|
+
@lords_id
|
40
|
+
end
|
41
|
+
|
42
|
+
# Returns the current house id for the page alongside the other house id.
|
43
|
+
#
|
44
|
+
# @param [Grom::Node] house The house that a particular person is linked to.
|
45
|
+
# @return [Array<String, String>] The current house id and other house id.
|
46
|
+
def house_id_string(house)
|
47
|
+
is_commons = commons?(house)
|
48
|
+
|
49
|
+
house_ids = [commons_id, lords_id]
|
50
|
+
return house_ids if is_commons
|
51
|
+
|
52
|
+
house_ids.reverse
|
53
|
+
end
|
54
|
+
|
55
|
+
# Returns the current
|
56
|
+
#
|
57
|
+
# @param [Grom::Node] house The house that a particular person is linked to.
|
58
|
+
# @return [Array<String, String>] The current person type and other person type.
|
59
|
+
def person_type_string(house)
|
60
|
+
is_mp = commons?(house)
|
61
|
+
|
62
|
+
types = [I18n.t('mp_plural'), I18n.t('lord_plural')]
|
63
|
+
|
64
|
+
return types if is_mp
|
65
|
+
|
66
|
+
types.reverse
|
67
|
+
end
|
68
|
+
|
69
|
+
private_class_method
|
70
|
+
|
71
|
+
def set_ids
|
72
|
+
return if @commons_id && @lords_id
|
73
|
+
houses = Parliament::Utils::Helpers::ParliamentHelper.parliament_request.house_index.get.filter('https://id.parliament.uk/schema/House').sort_by(:name)
|
74
|
+
|
75
|
+
@commons_id = houses.first.graph_id
|
76
|
+
@lords_id = houses.last.graph_id
|
77
|
+
end
|
76
78
|
end
|
77
79
|
end
|
78
80
|
end
|
@@ -40,7 +40,7 @@ module Parliament
|
|
40
40
|
#
|
41
41
|
# @return [String] uri with specific path added for filtering parliamentary data within sparql queries
|
42
42
|
def self.namespace_uri_path(path)
|
43
|
-
|
43
|
+
namespace_uri + path
|
44
44
|
end
|
45
45
|
|
46
46
|
# Returns uri with schema path and specific type added for filtering parliamentary data within sparql queries
|
@@ -49,7 +49,7 @@ module Parliament
|
|
49
49
|
#
|
50
50
|
# @return [String] uri with schema path and specific type added for filtering parliamentary data within sparql queries
|
51
51
|
def self.namespace_uri_schema_path(type)
|
52
|
-
|
52
|
+
namespace_uri_path("/schema/#{type}")
|
53
53
|
end
|
54
54
|
end
|
55
55
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'vcard'
|
2
|
+
|
1
3
|
# Namespace for helper methods to generate a vcard.
|
2
4
|
module Parliament
|
3
5
|
module Utils
|
@@ -10,13 +12,15 @@ module Parliament
|
|
10
12
|
def create_vcard(contact_point)
|
11
13
|
Vcard::Vcard::Maker.make2 do |maker|
|
12
14
|
maker.add_name do |name|
|
13
|
-
person_set(contact_point, name)
|
14
|
-
postal_address_set(contact_point, maker)
|
15
15
|
contacts_set(contact_point, maker)
|
16
|
+
postal_address_set(contact_point, maker)
|
17
|
+
person_set(contact_point, name)
|
16
18
|
end
|
17
19
|
end
|
18
20
|
end
|
19
21
|
|
22
|
+
private
|
23
|
+
|
20
24
|
# Sets the contact details of a vcard.
|
21
25
|
#
|
22
26
|
# @param [Grom::Node] contact_point a Grom::Node with type: https://id.parliament.uk/schema/ContactPoint.
|
@@ -13,7 +13,7 @@ module Parliament
|
|
13
13
|
#
|
14
14
|
def autolink(link, link_type)
|
15
15
|
if link_type == :url
|
16
|
-
return parliament_live_video_embed(link) if link
|
16
|
+
return parliament_live_video_embed(link) if link =~ /parliamentlive.tv\/event\/index\/[a-z0-9-]{36}/i
|
17
17
|
end
|
18
18
|
|
19
19
|
link # call super instead if we actually want autolinking
|
@@ -5,8 +5,8 @@ module Parliament
|
|
5
5
|
# Overrides default sanitization allowing Parliament tags and/or attributes
|
6
6
|
def initialize
|
7
7
|
super
|
8
|
-
self.tags = %w
|
9
|
-
self.attributes = %w
|
8
|
+
self.tags = %w[p div h1 h2 h3 h4 h5 h6 span a ol li ul strong em i itag strike del u sup sub blockquote cite table thead tbody tfoot tr th td iframe image pre code dl dt dd hr br]
|
9
|
+
self.attributes = %w[class href src name title allowfullscreen seamless frameborder style]
|
10
10
|
end
|
11
11
|
|
12
12
|
def skip_node?(node)
|
@@ -6,8 +6,8 @@ module Parliament
|
|
6
6
|
module TestHelpers
|
7
7
|
module BandieraHelper
|
8
8
|
def self.load_rspec_config(config)
|
9
|
-
#Stubs Bandiera::Client methods enabled? and get_features_for_group to clean up logs
|
10
|
-
#and streamline cassettes
|
9
|
+
# Stubs Bandiera::Client methods enabled? and get_features_for_group to clean up logs
|
10
|
+
# and streamline cassettes
|
11
11
|
config.before(:each) do
|
12
12
|
allow(BANDIERA_CLIENT).to receive(:enabled?).and_return(false)
|
13
13
|
allow(Pugin::PuginBandieraClient::BANDIERA_CLIENT).to receive(:get_features_for_group).and_return({})
|
@@ -4,33 +4,33 @@ module Parliament
|
|
4
4
|
module RailsHelper
|
5
5
|
def self.load_rspec_config(config)
|
6
6
|
Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
|
7
|
-
# # RSpec Rails can automatically mix in different behaviours to your tests
|
8
|
-
# # based on their file location, for example enabling you to call `get` and
|
9
|
-
# # `post` in specs under `spec/controllers`.
|
10
|
-
# #
|
11
|
-
# # You can disable this behaviour by removing the line below, and instead
|
12
|
-
# # explicitly tag your specs with their type, e.g.:
|
13
|
-
# #
|
14
|
-
# # RSpec.describe UsersController, :type => :controller do
|
15
|
-
# # # ...
|
16
|
-
# # end
|
17
|
-
# #
|
18
|
-
# # The different available types are documented in the features, such as in
|
19
|
-
# # https://relishapp.com/rspec/rspec-rails/docs
|
7
|
+
# # RSpec Rails can automatically mix in different behaviours to your tests
|
8
|
+
# # based on their file location, for example enabling you to call `get` and
|
9
|
+
# # `post` in specs under `spec/controllers`.
|
10
|
+
# #
|
11
|
+
# # You can disable this behaviour by removing the line below, and instead
|
12
|
+
# # explicitly tag your specs with their type, e.g.:
|
13
|
+
# #
|
14
|
+
# # RSpec.describe UsersController, :type => :controller do
|
15
|
+
# # # ...
|
16
|
+
# # end
|
17
|
+
# #
|
18
|
+
# # The different available types are documented in the features, such as in
|
19
|
+
# # https://relishapp.com/rspec/rspec-rails/docs
|
20
20
|
config.infer_spec_type_from_file_location!
|
21
|
-
#
|
22
|
-
# # Filter lines from Rails gems in backtraces.
|
21
|
+
#
|
22
|
+
# # Filter lines from Rails gems in backtraces.
|
23
23
|
config.filter_rails_from_backtrace!
|
24
|
-
# # arbitrary gems may also be filtered via:
|
25
|
-
# # config.filter_gems_from_backtrace("gem name")
|
24
|
+
# # arbitrary gems may also be filtered via:
|
25
|
+
# # config.filter_gems_from_backtrace("gem name")
|
26
26
|
config.include Parliament::Utils::Helpers::ApplicationHelper
|
27
|
-
#
|
28
|
-
# # Set Parliament::Utils::Helpers::HousesHelper#set_ids instance variables to nil after each spec.
|
29
|
-
# # Calling certain Parliament::Utils::Helpers::HousesHelper methods (e.g. Parliament::Utils::Helpers::HousesHelper#commons?) causes
|
30
|
-
# # Parliament::Utils::Helpers::HousesHelper#set_ids to be called which sets @commons_id and @lords_id.
|
31
|
-
# # Setting these to nil causes each spec that requires them to make another
|
32
|
-
# # Parliament::Utils::Helpers::ParliamentHelper request and generate a VCR cassette and stops any RSpec
|
33
|
-
# # ordering issues where they may or may not have been set by the previous spec.
|
27
|
+
#
|
28
|
+
# # Set Parliament::Utils::Helpers::HousesHelper#set_ids instance variables to nil after each spec.
|
29
|
+
# # Calling certain Parliament::Utils::Helpers::HousesHelper methods (e.g. Parliament::Utils::Helpers::HousesHelper#commons?) causes
|
30
|
+
# # Parliament::Utils::Helpers::HousesHelper#set_ids to be called which sets @commons_id and @lords_id.
|
31
|
+
# # Setting these to nil causes each spec that requires them to make another
|
32
|
+
# # Parliament::Utils::Helpers::ParliamentHelper request and generate a VCR cassette and stops any RSpec
|
33
|
+
# # ordering issues where they may or may not have been set by the previous spec.
|
34
34
|
config.after(:each) do
|
35
35
|
Parliament::Utils::Helpers::HousesHelper.instance_variable_set(:@commons_id, nil)
|
36
36
|
Parliament::Utils::Helpers::HousesHelper.instance_variable_set(:@lords_id, nil)
|
@@ -2,72 +2,71 @@ module Parliament
|
|
2
2
|
module Utils
|
3
3
|
module TestHelpers
|
4
4
|
module RSpecHelper
|
5
|
-
|
6
5
|
def self.load_rspec_config(config)
|
7
6
|
# RSpec.configure do |config|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
7
|
+
# rspec-expectations config goes here. You can use an alternate
|
8
|
+
# assertion/expectation library such as wrong or the stdlib/minitest
|
9
|
+
# assertions if you prefer.
|
10
|
+
config.expect_with :rspec do |expectations|
|
11
|
+
# This option will default to `true` in RSpec 4. It makes the `description`
|
12
|
+
# and `failure_message` of custom matchers include text for helper methods
|
13
|
+
# defined using `chain`, e.g.:
|
14
|
+
# be_bigger_than(2).and_smaller_than(4).description
|
15
|
+
# # => "be bigger than 2 and smaller than 4"
|
16
|
+
# ...rather than:
|
17
|
+
# # => "be bigger than 2"
|
18
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
19
|
+
end
|
21
20
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
21
|
+
# rspec-mocks config goes here. You can use an alternate test double
|
22
|
+
# library (such as bogus or mocha) by changing the `mock_with` option here.
|
23
|
+
config.mock_with :rspec do |mocks|
|
24
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
25
|
+
# a real object. This is generally recommended, and will default to
|
26
|
+
# `true` in RSpec 4.
|
27
|
+
mocks.verify_partial_doubles = true
|
28
|
+
end
|
30
29
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
30
|
+
# These two settings work together to allow you to limit a spec run
|
31
|
+
# to individual examples or groups you care about by tagging them with
|
32
|
+
# `:focus` metadata. When nothing is tagged with `:focus`, all examples
|
33
|
+
# get run.
|
34
|
+
config.filter_run :focus
|
35
|
+
config.run_all_when_everything_filtered = true
|
37
36
|
|
38
|
-
|
39
|
-
|
37
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
38
|
+
config.disable_monkey_patching!
|
40
39
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
40
|
+
# Many RSpec users commonly either run the entire suite or an individual
|
41
|
+
# file, and it's useful to allow more verbose output when running an
|
42
|
+
# individual spec file.
|
43
|
+
if config.files_to_run.one?
|
44
|
+
# Use the documentation formatter for detailed output,
|
45
|
+
# unless a formatter has already been configured
|
46
|
+
# (e.g. via a command-line flag).
|
47
|
+
config.default_formatter = 'doc'
|
48
|
+
end
|
50
49
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
50
|
+
# Print the 10 slowest examples and example groups at the
|
51
|
+
# end of the spec run, to help surface which specs are running
|
52
|
+
# particularly slow.
|
53
|
+
config.profile_examples = 10
|
55
54
|
|
56
|
-
|
57
|
-
|
58
|
-
|
55
|
+
config.expect_with :rspec do |c|
|
56
|
+
c.syntax = :expect
|
57
|
+
end
|
59
58
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
59
|
+
# Run specs in random order to surface order dependencies. If you find an
|
60
|
+
# order dependency and want to debug it, you can fix the order by providing
|
61
|
+
# the seed, which is printed after each run.
|
62
|
+
# --seed 1234
|
63
|
+
config.order = :random
|
65
64
|
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
65
|
+
# Seed global randomization in this process using the `--seed` CLI option.
|
66
|
+
# Setting this allows you to use `--seed` to deterministically reproduce
|
67
|
+
# test failures related to randomization by passing the same `--seed` value
|
68
|
+
# as the one that triggered the failure.
|
69
|
+
Kernel.srand config.seed
|
71
70
|
# end
|
72
71
|
end
|
73
72
|
end
|
@@ -5,13 +5,17 @@ module Parliament
|
|
5
5
|
require 'coveralls'
|
6
6
|
require 'simplecov'
|
7
7
|
|
8
|
-
def self.load_rspec_config(
|
8
|
+
def self.load_rspec_config(_config)
|
9
9
|
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
Coveralls::SimpleCov::Formatter,
|
11
|
+
SimpleCov::Formatter::HTMLFormatter
|
12
|
+
])
|
13
|
+
|
13
14
|
profile = defined?(Rails) ? 'rails' : nil
|
14
|
-
|
15
|
+
|
16
|
+
SimpleCov.start profile do
|
17
|
+
add_filter 'spec'
|
18
|
+
end
|
15
19
|
end
|
16
20
|
end
|
17
21
|
end
|
@@ -41,7 +41,7 @@ module Parliament
|
|
41
41
|
parliament_match || bandiera_match || opensearch_match || hybrid_bills_match
|
42
42
|
end
|
43
43
|
|
44
|
-
config.default_cassette_options = { match_requests_on: [
|
44
|
+
config.default_cassette_options = { match_requests_on: %i[method filtered_uri] }
|
45
45
|
|
46
46
|
# Dynamically filter our sensitive information
|
47
47
|
config.filter_sensitive_data('<AUTH_TOKEN>') { ENV['PARLIAMENT_AUTH_TOKEN'] } if ENV['PARLIAMENT_AUTH_TOKEN']
|
@@ -55,7 +55,7 @@ module Parliament
|
|
55
55
|
should_ignore = ['_:node', '^^<http://www.w3.org/2001/XMLSchema#date>', '^^<http://www.w3.org/2001/XMLSchema#dateTime>', '^^<http://www.w3.org/2001/XMLSchema#integer>']
|
56
56
|
|
57
57
|
# Check if content type header exists and if it includes application/n-triples
|
58
|
-
if interaction.response.headers['Content-Type']
|
58
|
+
if interaction.response.headers['Content-Type']&.include?('application/n-triples')
|
59
59
|
# Split our data by line
|
60
60
|
lines = interaction.response.body.split("\n")
|
61
61
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: parliament-utils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rebecca Appleyard
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parliament-ruby
|
@@ -297,7 +297,6 @@ executables: []
|
|
297
297
|
extensions: []
|
298
298
|
extra_rdoc_files: []
|
299
299
|
files:
|
300
|
-
- ".DS_Store"
|
301
300
|
- ".gitignore"
|
302
301
|
- ".hound.yml"
|
303
302
|
- ".rspec"
|
data/.DS_Store
DELETED
Binary file
|