pliny 0.32.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8de7550e51b73562d5fbf52d648945f5f07925cc5df89b5526faba9fc5b27075
4
- data.tar.gz: 46f1ed81d71d0b9b70332085bc6dc61038a98d8f66ba2645db6651f355f85fd4
3
+ metadata.gz: 0737c4e1c61ecef9881625ff6bb0d2afeacc63977f239b7e2562d4aec3c3609a
4
+ data.tar.gz: f8db4293037c673ff3e33e025c75e86664f19cd207f3e36a2934e47eb981e942
5
5
  SHA512:
6
- metadata.gz: 90130887007a82d06b841e6e4ca27f0f242f24eb782f273037a50a849d8a8a19ce73b7d4fb42ee75bc983b8cdfac57f02057e6322d11ab00678ef5c51b2d8d13
7
- data.tar.gz: a77f028909da4a10a07db20f96e3fa872c351114395adbbbe500a1106bc0b3882676bdd94fbb52ec91a23676ba92cce2b84a76277a385321f29c16c64ede2fc1
6
+ metadata.gz: bad71b767121811048ca67857644d74d6b7e565461e96cc6f52fa3b8207a41cb6f5fa8b4d32d14fc49894709a7959c55ddd7a6c8972f1555f6d5b6108c160978
7
+ data.tar.gz: d0e2adac5319670b3c12344f6b4d40a989e74770f4ffdbffdbf7082941ed7f2590802babf478966a63c475638f4736961855a449cf9629779baf696f98f2eb28
@@ -35,7 +35,7 @@ module Pliny::Commands
35
35
  Dir.glob("#{app_dir}/{*,.*}.erb").each do |file|
36
36
  static_file = file.gsub(/\.erb$/, '')
37
37
 
38
- template = ERB.new(File.read(file), 0)
38
+ template = ERB.new(File.read(file))
39
39
  context = OpenStruct.new(app_name: name)
40
40
  content = template.result(context.instance_eval { binding })
41
41
 
@@ -41,7 +41,7 @@ module Pliny::Commands
41
41
 
42
42
  def render_template(template_file, vars = {})
43
43
  template_path = File.dirname(__FILE__) + "/../../templates/#{template_file}"
44
- template = ERB.new(File.read(template_path), 0, '>')
44
+ template = ERB.new(File.read(template_path), trim_mode: '>')
45
45
  context = OpenStruct.new(vars)
46
46
  template.result(context.instance_eval { binding })
47
47
  end
data/lib/pliny/errors.rb CHANGED
@@ -4,7 +4,7 @@ module Pliny
4
4
  attr_accessor :id
5
5
 
6
6
  def self.render(error)
7
- headers = { "Content-Type" => "application/json; charset=utf-8" }
7
+ headers = { "content-type" => "application/json; charset=utf-8" }
8
8
  data = { id: error.id, message: error.message }
9
9
  [error.status, headers, [MultiJson.encode(data)]]
10
10
  end
data/lib/pliny/metrics.rb CHANGED
@@ -16,11 +16,13 @@ module Pliny
16
16
  counts
17
17
  end
18
18
 
19
- def measure(*names, **opts, &block)
19
+ def measure(*inputs, &block)
20
20
  if block
21
21
  elapsed, return_value = time_elapsed(&block)
22
22
  end
23
23
 
24
+ opts = inputs.last.is_a?(Hash) ? inputs.pop : {}
25
+
24
26
  measurement =
25
27
  if opts.has_key?(:value)
26
28
  opts[:value]
@@ -30,7 +32,7 @@ module Pliny
30
32
  0
31
33
  end
32
34
 
33
- measures = Hash[names.map { |n| ["#{Config.app_name}.#{n}", measurement] }]
35
+ measures = Hash[inputs.map { |n| ["#{Config.app_name}.#{n}", measurement] }]
34
36
 
35
37
  backends.each do |backend|
36
38
  report_and_catch { backend.report_measures(measures) }
@@ -44,12 +44,12 @@ module Pliny::Middleware
44
44
 
45
45
  def cors_headers(env)
46
46
  {
47
- 'Access-Control-Allow-Origin' => env["HTTP_ORIGIN"],
48
- 'Access-Control-Allow-Methods' => ALLOW_METHODS.join(', '),
49
- 'Access-Control-Allow-Headers' => allow_headers.join(', '),
50
- 'Access-Control-Allow-Credentials' => "true",
51
- 'Access-Control-Max-Age' => "1728000",
52
- 'Access-Control-Expose-Headers' => EXPOSE_HEADERS.join(', ')
47
+ 'access-control-allow-origin' => env["HTTP_ORIGIN"],
48
+ 'access-control-allow-methods' => ALLOW_METHODS.join(', '),
49
+ 'access-control-allow-headers' => allow_headers.join(', '),
50
+ 'access-control-allow-credentials' => "true",
51
+ 'access-control-max-age' => "1728000",
52
+ 'access-control-expose-headers' => EXPOSE_HEADERS.join(', ')
53
53
  }
54
54
  end
55
55
  end
@@ -26,7 +26,7 @@ module Pliny::Middleware
26
26
  error = { id: :bad_version, message: <<-eos }
27
27
  Please specify a version along with the MIME type. For example, `Accept: application/vnd.#{@app_name}+json; version=1`.
28
28
  eos
29
- return [400, { "Content-Type" => "application/json; charset=utf-8" },
29
+ return [400, { "content-type" => "application/json; charset=utf-8" },
30
30
  [MultiJson.encode(error)]]
31
31
  end
32
32
 
data/lib/pliny/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pliny
2
- VERSION = "0.32.0"
2
+ VERSION = "1.1.0"
3
3
  end
data/lib/template/Gemfile CHANGED
@@ -6,22 +6,22 @@ gem "oj"
6
6
  gem "pg"
7
7
  gem "pliny", "~> 0.32"
8
8
  gem "pry"
9
- gem "puma", "~> 3"
9
+ gem "puma", "~> 6"
10
10
  gem "rack-ssl"
11
- gem "rack-timeout", "~> 0.4"
11
+ gem "rack-timeout", "~> 0.6"
12
12
  gem "rake"
13
13
  gem "rollbar"
14
- gem "sequel", "~> 4.34"
14
+ gem "sequel", "~> 5.73"
15
15
  gem "sequel-paranoid"
16
- gem "sequel_pg", "~> 1.6", require: "sequel"
17
- gem "sinatra", [">= 1.4", "< 3.0"], require: "sinatra/base"
16
+ gem "sequel_pg", "~> 1.17", require: "sequel"
17
+ gem "sinatra", [">= 2.0", "< 3.0"], require: "sinatra/base"
18
18
  gem "sinatra-contrib", require: ["sinatra/namespace", "sinatra/reloader"]
19
19
  gem "sinatra-router"
20
20
  gem "sucker_punch"
21
21
 
22
22
  group :development, :test do
23
23
  gem "pry-byebug"
24
- gem "rubocop", "~> 0.52.1", require: false
24
+ gem "rubocop", "~> 1.56", require: false
25
25
  gem "rubocop-rspec", require: false
26
26
  end
27
27
 
@@ -1,5 +1,4 @@
1
1
  require "spec_helper"
2
- require "active_support/core_ext/numeric/time"
3
2
 
4
3
  describe Pliny::Helpers::ZuluTime do
5
4
  context "zulu_time" do
@@ -1,6 +1,5 @@
1
1
  require "spec_helper"
2
2
  require "open3"
3
- require 'active_support/core_ext/object/blank'
4
3
 
5
4
  describe "Pliny integration test" do
6
5
  describe "bin/setup" do
data/spec/metrics_spec.rb CHANGED
@@ -102,5 +102,21 @@ describe Pliny::Metrics do
102
102
  "pliny.waldo" => 0
103
103
  )
104
104
  end
105
+
106
+ it "measures value in implicit hash with multiple metrics names" do
107
+ metrics.measure("metric.name", "another.name", value: 3.14, foo: :bar)
108
+ expect(test_backend).to have_received(:report_measures).once.with(
109
+ "pliny.metric.name" => 3.14,
110
+ "pliny.another.name" => 3.14
111
+ )
112
+ end
113
+
114
+ it "measures value in explicit hash with multiple metrics names" do
115
+ metrics.measure("metric.name", "another.name", { value: 3.14, foo: :bar })
116
+ expect(test_backend).to have_received(:report_measures).once.with(
117
+ "pliny.metric.name" => 3.14,
118
+ "pliny.another.name" => 3.14
119
+ )
120
+ end
105
121
  end
106
122
  end
data/spec/spec_helper.rb CHANGED
@@ -7,6 +7,7 @@ ENV["TEST_DATABASE_URL"] ||= "postgres://localhost/pliny-gem-test"
7
7
  require "bundler"
8
8
  Bundler.require
9
9
 
10
+ require "active_support/all"
10
11
  require "fileutils"
11
12
  require "rack/test"
12
13
  require "sequel"
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pliny
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.32.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brandur Leach
8
8
  - Pedro Belo
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-02-03 00:00:00.000000000 Z
12
+ date: 2024-02-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -17,20 +17,20 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 5.0.1
20
+ version: '6.0'
21
21
  - - "<"
22
22
  - !ruby/object:Gem::Version
23
- version: '7.0'
23
+ version: '8.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
26
  version_requirements: !ruby/object:Gem::Requirement
27
27
  requirements:
28
28
  - - ">="
29
29
  - !ruby/object:Gem::Version
30
- version: 5.0.1
30
+ version: '6.0'
31
31
  - - "<"
32
32
  - !ruby/object:Gem::Version
33
- version: '7.0'
33
+ version: '8.0'
34
34
  - !ruby/object:Gem::Dependency
35
35
  name: multi_json
36
36
  requirement: !ruby/object:Gem::Requirement
@@ -77,20 +77,20 @@ dependencies:
77
77
  requirements:
78
78
  - - ">="
79
79
  - !ruby/object:Gem::Version
80
- version: '1.4'
80
+ version: '2.0'
81
81
  - - "<"
82
82
  - !ruby/object:Gem::Version
83
- version: '3.0'
83
+ version: '5.0'
84
84
  type: :runtime
85
85
  prerelease: false
86
86
  version_requirements: !ruby/object:Gem::Requirement
87
87
  requirements:
88
88
  - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '1.4'
90
+ version: '2.0'
91
91
  - - "<"
92
92
  - !ruby/object:Gem::Version
93
- version: '3.0'
93
+ version: '5.0'
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: http_accept
96
96
  requirement: !ruby/object:Gem::Requirement
@@ -171,14 +171,14 @@ dependencies:
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: 1.1.0
174
+ version: '2'
175
175
  type: :development
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - "~>"
180
180
  - !ruby/object:Gem::Version
181
- version: 1.1.0
181
+ version: '2'
182
182
  - !ruby/object:Gem::Dependency
183
183
  name: rspec
184
184
  requirement: !ruby/object:Gem::Requirement
@@ -205,20 +205,20 @@ dependencies:
205
205
  requirements:
206
206
  - - ">="
207
207
  - !ruby/object:Gem::Version
208
- version: '1.4'
208
+ version: '2.0'
209
209
  - - "<"
210
210
  - !ruby/object:Gem::Version
211
- version: '3.0'
211
+ version: '5.0'
212
212
  type: :development
213
213
  prerelease: false
214
214
  version_requirements: !ruby/object:Gem::Requirement
215
215
  requirements:
216
216
  - - ">="
217
217
  - !ruby/object:Gem::Version
218
- version: '1.4'
218
+ version: '2.0'
219
219
  - - "<"
220
220
  - !ruby/object:Gem::Version
221
- version: '3.0'
221
+ version: '5.0'
222
222
  - !ruby/object:Gem::Dependency
223
223
  name: timecop
224
224
  requirement: !ruby/object:Gem::Requirement
@@ -497,7 +497,7 @@ homepage: https://github.com/interagent/pliny
497
497
  licenses:
498
498
  - MIT
499
499
  metadata: {}
500
- post_install_message:
500
+ post_install_message:
501
501
  rdoc_options: []
502
502
  require_paths:
503
503
  - lib
@@ -512,8 +512,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
512
512
  - !ruby/object:Gem::Version
513
513
  version: '0'
514
514
  requirements: []
515
- rubygems_version: 3.1.2
516
- signing_key:
515
+ rubygems_version: 3.5.3
516
+ signing_key:
517
517
  specification_version: 4
518
518
  summary: Basic tooling to support API apps in Sinatra
519
519
  test_files: []