jess 0.3.0 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 48fd46f06e9a6c2d58d0de2f67688181dfc76fde
4
- data.tar.gz: 5e470a373b74bc80c61798bb4a0bf34410324fdf
2
+ SHA256:
3
+ metadata.gz: 36a2ecd8c27f51eb1cad14d0cf14b18d54ec301eb160ae5dec87668e5c44bb75
4
+ data.tar.gz: fbf618a240b264e884511d5b77f6799b487eab72210fdcee30a2dbcef1693b83
5
5
  SHA512:
6
- metadata.gz: '098a0a6c1dd81cdcfcd866ca02b46848d36801b94c96a19b193e61a3a4797c6429fda18e044d452c94c7ef1aa3843302504adb2e047d68a32504dfa9d551feb9'
7
- data.tar.gz: 03f400c779bd32cfc2f4822bface0f65be71f2c0324b7ea5958b15767b2b14562b66c6e0973e28e8e3d0c68bdb58d3df88cfa9975d5f6eb5b6799b7631ee00f6
6
+ metadata.gz: 72efc59c335fc190672a20a35503c12b231fda070d6a0c4649d8e4a4c80160ceb603090433b1b808784fa5c8c88f89284669df3a191762654ddba1f1bc1a457f
7
+ data.tar.gz: 6086728baabc85e915e6b36b8204739cfc3126088bc2dc392053313d0f1e8d564861e5137e94a288dc5d56abc23aedaab1d013f2868b7a7c325b739f1616394c
data/.travis.yml CHANGED
@@ -1,8 +1,13 @@
1
1
  sudo: false
2
2
  language: ruby
3
+ cache: bundler
3
4
  rvm:
4
5
  - 2.1.10
5
- - 2.2.6
6
- - 2.3.3
7
- - 2.4.0
8
- before_install: gem install bundler -v '~> 1.14' --conservative
6
+ - 2.2.9
7
+ - 2.3.6
8
+ - 2.4.3
9
+ - 2.5.0
10
+ - ruby-head
11
+ before_install:
12
+ - gem update --system
13
+ - gem install bundler --no-document
data/CHANGELOG.md CHANGED
@@ -8,6 +8,10 @@ Jess is in a pre-1.0 state. This means that its APIs and behavior are subject to
8
8
 
9
9
  * Your contribution here!
10
10
 
11
+ ## [0.4.0][] (2018-01-03)
12
+
13
+ * `extension_attributes` now responds to `_json` like other objects
14
+
11
15
  ## [0.3.0][] (2017-03-17)
12
16
 
13
17
  * Add `computers.all_ids` and `mobile_devices.all_ids`
@@ -21,6 +25,7 @@ Jess is in a pre-1.0 state. This means that its APIs and behavior are subject to
21
25
  * Initial release
22
26
 
23
27
  [Semver]: http://semver.org
24
- [Unreleased]: https://github.com/mattbrictson/jess/compare/v0.3.0...HEAD
28
+ [Unreleased]: https://github.com/mattbrictson/jess/compare/v0.4.0...HEAD
29
+ [0.4.0]: https://github.com/mattbrictson/jess/compare/v0.3.0...v0.4.0
25
30
  [0.3.0]: https://github.com/mattbrictson/jess/compare/v0.2.0...v0.3.0
26
31
  [0.2.0]: https://github.com/mattbrictson/jess/compare/v0.1.0...v0.2.0
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Matt Brictson
3
+ Copyright (c) 2018 Matt Brictson
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -88,7 +88,7 @@ computer.extension_attributes["My Ext Attr Name"] # => "value"
88
88
  If you ever need access to the raw JSON data of any object, use the `_json` method:
89
89
 
90
90
  ```ruby
91
- computer._json["extension_attributes"] # => [{ ... }]
91
+ computer.extension_attributes._json # => [{ ... }]
92
92
  ```
93
93
 
94
94
  ## Gotchas
data/Rakefile CHANGED
@@ -12,4 +12,4 @@ end
12
12
  RuboCop::RakeTask.new
13
13
 
14
14
  task "release:rubygem_push" => "chandler:push"
15
- task default: [:test, :rubocop]
15
+ task default: %i[test rubocop]
data/jess.gemspec CHANGED
@@ -1,4 +1,3 @@
1
- # coding: utf-8
2
1
  lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "jess/version"
@@ -27,10 +26,9 @@ Gem::Specification.new do |spec|
27
26
  spec.add_development_dependency "bundler", "~> 1.13"
28
27
  spec.add_development_dependency "chandler", "~> 0.3"
29
28
  spec.add_development_dependency "coveralls", "~> 0.8.15"
30
- spec.add_development_dependency "rake", "~> 11.0"
31
29
  spec.add_development_dependency "minitest", "~> 5.0"
32
30
  spec.add_development_dependency "minitest-reporters", "~>1.1"
33
- spec.add_development_dependency "rainbow", "~> 2.1.0"
34
- spec.add_development_dependency "rubocop", "~> 0.43"
35
- spec.add_development_dependency "webmock", "~> 2.1"
31
+ spec.add_development_dependency "rake", "~> 12.0"
32
+ spec.add_development_dependency "rubocop", "0.52.1"
33
+ spec.add_development_dependency "webmock", "~> 3.1"
36
34
  end
data/lib/jess/computer.rb CHANGED
@@ -9,7 +9,7 @@ module Jess
9
9
  def_delegators :general, :id, :name
10
10
 
11
11
  def extension_attributes
12
- @ext_attrs ||= ExtensionAttributes.new(super)
12
+ @ext_attrs ||= ExtensionAttributes.new(_json["extension_attributes"])
13
13
  end
14
14
 
15
15
  def inspect
@@ -3,13 +3,14 @@ require "forwardable"
3
3
  module Jess
4
4
  # A Hash-like wrapper around the extension attributes that facilitates easy
5
5
  # key/value access.
6
- class ExtensionAttributes
6
+ class ExtensionAttributes < Resource
7
7
  extend Forwardable
8
8
  def_delegators :@values, :[], :fetch, :key?, :keys, :size, :length, :to_h
9
9
 
10
10
  def initialize(json)
11
+ super
11
12
  @values = json.each_with_object({}) do |attr, hash|
12
- hash[attr.name] = attr.value
13
+ hash[attr["name"]] = attr["value"]
13
14
  end
14
15
  @values.freeze
15
16
  end
@@ -9,7 +9,7 @@ module Jess
9
9
  def_delegators :general, :id, :name
10
10
 
11
11
  def extension_attributes
12
- @ext_attrs ||= ExtensionAttributes.new(super)
12
+ @ext_attrs ||= ExtensionAttributes.new(_json["extension_attributes"])
13
13
  end
14
14
 
15
15
  def inspect
data/lib/jess/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jess
2
- VERSION = "0.3.0".freeze
2
+ VERSION = "0.4.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jess
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Brictson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-03-17 00:00:00.000000000 Z
11
+ date: 2018-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: awesome_print
@@ -66,20 +66,6 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.8.15
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '11.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '11.0'
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: minitest
85
71
  requirement: !ruby/object:Gem::Requirement
@@ -109,47 +95,47 @@ dependencies:
109
95
  - !ruby/object:Gem::Version
110
96
  version: '1.1'
111
97
  - !ruby/object:Gem::Dependency
112
- name: rainbow
98
+ name: rake
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - "~>"
116
102
  - !ruby/object:Gem::Version
117
- version: 2.1.0
103
+ version: '12.0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - "~>"
123
109
  - !ruby/object:Gem::Version
124
- version: 2.1.0
110
+ version: '12.0'
125
111
  - !ruby/object:Gem::Dependency
126
112
  name: rubocop
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
- - - "~>"
115
+ - - '='
130
116
  - !ruby/object:Gem::Version
131
- version: '0.43'
117
+ version: 0.52.1
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
- - - "~>"
122
+ - - '='
137
123
  - !ruby/object:Gem::Version
138
- version: '0.43'
124
+ version: 0.52.1
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: webmock
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
129
  - - "~>"
144
130
  - !ruby/object:Gem::Version
145
- version: '2.1'
131
+ version: '3.1'
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
136
  - - "~>"
151
137
  - !ruby/object:Gem::Version
152
- version: '2.1'
138
+ version: '3.1'
153
139
  description:
154
140
  email:
155
141
  - opensource@mattbrictson.com
@@ -204,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
190
  version: '0'
205
191
  requirements: []
206
192
  rubyforge_project:
207
- rubygems_version: 2.6.10
193
+ rubygems_version: 2.7.4
208
194
  signing_key:
209
195
  specification_version: 4
210
196
  summary: Lightweight, unofficial client for the JAMF Software Server (JSS) API