puree 0.13.0 → 0.14.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/CHANGELOG.md +14 -0
- data/README.md +129 -93
- data/lib/puree.rb +1 -0
- data/lib/puree/collection.rb +30 -11
- data/lib/puree/configuration.rb +17 -0
- data/lib/puree/dataset.rb +23 -3
- data/lib/puree/download.rb +26 -0
- data/lib/puree/event.rb +8 -2
- data/lib/puree/journal.rb +8 -2
- data/lib/puree/map.rb +7 -2
- data/lib/puree/organisation.rb +45 -2
- data/lib/puree/person.rb +8 -2
- data/lib/puree/project.rb +8 -2
- data/lib/puree/publication.rb +8 -2
- data/lib/puree/publisher.rb +8 -2
- data/lib/puree/resource.rb +49 -13
- data/lib/puree/version.rb +1 -1
- data/spec/collection.rb +6 -5
- data/spec/dataset.rb +4 -5
- data/spec/spec_helper.rb +1 -0
- metadata +4 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 6b99230d8fee3aa6a259149b6b0fcf1beb258f43
         | 
| 4 | 
            +
              data.tar.gz: 3c6e08559c575caa1edb25c986d91f670f157384
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 083843de876a7502201a2cea2180c39e0c0b9b7ea67d2dce14ad577e47f30243bd798a085d4a6fe48a0ec42a4be0ea901e945b0452bfe269206d4decf40fcea3
         | 
| 7 | 
            +
              data.tar.gz: 48c0c50c3a3c1d9cddaed24ad7f9bc8ed90e750721ff244a7eed6150fbca37424827c304145b295259b44107cb9eeb5466289ebe56a6631e91f97a262cfa0031
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -2,6 +2,20 @@ | |
| 2 2 | 
             
            All notable changes to this project will be documented in this file.
         | 
| 3 3 | 
             
            This project adheres to [Semantic Versioning](http://semver.org/).
         | 
| 4 4 |  | 
| 5 | 
            +
            ## Unreleased
         | 
| 6 | 
            +
            - Download stats.
         | 
| 7 | 
            +
             | 
| 8 | 
            +
            ## 0.14.0 - 2016-06-10
         | 
| 9 | 
            +
            ### Added
         | 
| 10 | 
            +
            - Dataset (organisation).
         | 
| 11 | 
            +
            - Organisation (parent).
         | 
| 12 | 
            +
            - Credentials set globally.
         | 
| 13 | 
            +
            - Global credentials override in ctor of resource.
         | 
| 14 | 
            +
            - Find as alias for get.
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            ### Removed
         | 
| 17 | 
            +
            - Credentials passed with get.
         | 
| 18 | 
            +
             | 
| 5 19 | 
             
            ## 0.13.0 - 2016-05-20
         | 
| 6 20 | 
             
            ### Added
         | 
| 7 21 | 
             
            - Collection server-side search by date range (created, modified) and paging.
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,5 +1,4 @@ | |
| 1 | 
            -
            # Purée
         | 
| 2 | 
            -
             | 
| 1 | 
            +
            # Purée [](https://badge.fury.io/rb/puree)
         | 
| 3 2 | 
             
            A Ruby client for the Pure Research Information System API.
         | 
| 4 3 |  | 
| 5 4 |  | 
| @@ -18,26 +17,46 @@ Or install it yourself as: | |
| 18 17 | 
             
                $ gem install puree
         | 
| 19 18 |  | 
| 20 19 | 
             
            ## Usage
         | 
| 20 | 
            +
             Authentication
         | 
| 21 | 
            +
             | 
| 21 22 | 
             
            ```ruby
         | 
| 22 | 
            -
             | 
| 23 | 
            +
             | 
| 24 | 
            +
            # Global settings together
         | 
| 25 | 
            +
            Puree::Configuration.configure do |c|
         | 
| 26 | 
            +
              c.endpoint = ENV['PURE_ENDPOINT']
         | 
| 27 | 
            +
              c.username = ENV['PURE_USERNAME']
         | 
| 28 | 
            +
              c.password = ENV['PURE_PASSWORD']
         | 
| 29 | 
            +
            end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            # Global settings individually
         | 
| 32 | 
            +
            Puree::Configuration.endpoint = ENV['PURE_ENDPOINT']
         | 
| 33 | 
            +
            Puree::Configuration.username = ENV['PURE_USERNAME']
         | 
| 34 | 
            +
            Puree::Configuration.password = ENV['PURE_PASSWORD']
         | 
| 35 | 
            +
             | 
| 36 | 
            +
            # Use global settings
         | 
| 37 | 
            +
            d = Puree::Dataset.new
         | 
| 38 | 
            +
             | 
| 39 | 
            +
            # Override one or more global settings in an instance
         | 
| 40 | 
            +
            d = Puree::Dataset.new endpoint: 'http://example.com/ws/rest',
         | 
| 41 | 
            +
                                   username: 'another_username',
         | 
| 42 | 
            +
                                   password: 'another_password'
         | 
| 23 43 | 
             
            ```
         | 
| 24 44 |  | 
| 25 | 
            -
             | 
| 45 | 
            +
             | 
| 46 | 
            +
            Dataset
         | 
| 26 47 |  | 
| 27 48 | 
             
            ```ruby
         | 
| 49 | 
            +
             | 
| 28 50 | 
             
            d = Puree::Dataset.new
         | 
| 29 51 |  | 
| 30 52 | 
             
            # Get metadata using ID
         | 
| 31 | 
            -
            d. | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 53 | 
            +
            d.find id: 12345678
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            # Reuse instance
         | 
| 56 | 
            +
            d.find id: 87654321
         | 
| 35 57 |  | 
| 36 58 | 
             
            # Get metadata using UUID
         | 
| 37 | 
            -
            d. | 
| 38 | 
            -
                  endpoint: endpoint,
         | 
| 39 | 
            -
                  username: username,
         | 
| 40 | 
            -
                  password: password
         | 
| 59 | 
            +
            d.find uuid: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
         | 
| 41 60 |  | 
| 42 61 | 
             
            # Filter metadata into simple data structures
         | 
| 43 62 | 
             
            d.access
         | 
| @@ -51,6 +70,7 @@ d.geographical | |
| 51 70 | 
             
            d.keyword
         | 
| 52 71 | 
             
            d.link
         | 
| 53 72 | 
             
            d.modified
         | 
| 73 | 
            +
            d.organisation
         | 
| 54 74 | 
             
            d.person
         | 
| 55 75 | 
             
            d.production
         | 
| 56 76 | 
             
            d.project
         | 
| @@ -70,21 +90,18 @@ d.response.message | |
| 70 90 | 
             
            d.response.headers # hash
         | 
| 71 91 | 
             
            ```
         | 
| 72 92 |  | 
| 73 | 
            -
            Collection | 
| 93 | 
            +
            Collection
         | 
| 74 94 |  | 
| 75 95 | 
             
            ```ruby
         | 
| 76 | 
            -
            c = Puree::Collection.new | 
| 96 | 
            +
            c = Puree::Collection.new api: :dataset
         | 
| 77 97 |  | 
| 78 98 | 
             
            # Get three minimal datasets, starting at record ten, created and modified in January 2016.
         | 
| 79 | 
            -
            c. | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
                  created_end:    '2016-01-31', # optional
         | 
| 86 | 
            -
                  modified_start: '2016-01-01', # optional
         | 
| 87 | 
            -
                  modified_end:   '2016-01-31'  # optional
         | 
| 99 | 
            +
            c.find limit:          3,  # optional, default 20
         | 
| 100 | 
            +
                   offset:         10, # optional, default 0
         | 
| 101 | 
            +
                   created_start:  '2016-01-01', # optional
         | 
| 102 | 
            +
                   created_end:    '2016-01-31', # optional
         | 
| 103 | 
            +
                   modified_start: '2016-01-01', # optional
         | 
| 104 | 
            +
                   modified_end:   '2016-01-31'  # optional
         | 
| 88 105 |  | 
| 89 106 | 
             
            # Get UUIDs for datasets
         | 
| 90 107 | 
             
            uuids = c.uuid
         | 
| @@ -93,10 +110,7 @@ uuids = c.uuid | |
| 93 110 | 
             
            datasets = []
         | 
| 94 111 | 
             
            uuids.each do |uuid|
         | 
| 95 112 | 
             
                d = Puree::Dataset.new
         | 
| 96 | 
            -
                d. | 
| 97 | 
            -
                      username: username,
         | 
| 98 | 
            -
                      password: password,
         | 
| 99 | 
            -
                      uuid:     uuid
         | 
| 113 | 
            +
                d.find uuid: uuid
         | 
| 100 114 | 
             
                datasets << d.metadata
         | 
| 101 115 | 
             
            end
         | 
| 102 116 | 
             
            ```
         | 
| @@ -110,9 +124,9 @@ Date made available. If year is present, month and day will have data or an empt | |
| 110 124 |  | 
| 111 125 | 
             
            ```ruby
         | 
| 112 126 | 
             
            {
         | 
| 113 | 
            -
              "year"=>"2016",
         | 
| 114 | 
            -
              "month"=>"2",
         | 
| 115 | 
            -
              "day"=>"4"
         | 
| 127 | 
            +
              "year" => "2016",
         | 
| 128 | 
            +
              "month" => "2",
         | 
| 129 | 
            +
              "day" => "4"
         | 
| 116 130 | 
             
            }
         | 
| 117 131 | 
             
            ```
         | 
| 118 132 |  | 
| @@ -122,14 +136,14 @@ An array of files. | |
| 122 136 | 
             
            ```ruby
         | 
| 123 137 | 
             
            [
         | 
| 124 138 | 
             
              {
         | 
| 125 | 
            -
                "name"=>"foo.csv",
         | 
| 126 | 
            -
                "mime"=>"application/octet-stream",
         | 
| 127 | 
            -
                "size"=>"1616665158",
         | 
| 128 | 
            -
                "url"=>"http://example.com/ws/rest/files/12345678/foo.csv",
         | 
| 129 | 
            -
                "title"=>"foo.csv",
         | 
| 130 | 
            -
                "license"=>{
         | 
| 131 | 
            -
                  "name"=>"CC BY-NC",
         | 
| 132 | 
            -
                  "url"=>"http://creativecommons.org/licenses/by-nc/4.0/"
         | 
| 139 | 
            +
                "name" => "foo.csv",
         | 
| 140 | 
            +
                "mime" => "application/octet-stream",
         | 
| 141 | 
            +
                "size" => "1616665158",
         | 
| 142 | 
            +
                "url" => "http://example.com/ws/rest/files/12345678/foo.csv",
         | 
| 143 | 
            +
                "title" => "foo.csv",
         | 
| 144 | 
            +
                "license" => {
         | 
| 145 | 
            +
                  "name" => "CC BY-NC",
         | 
| 146 | 
            +
                  "url" => "http://creativecommons.org/licenses/by-nc/4.0/"
         | 
| 133 147 | 
             
                }
         | 
| 134 148 | 
             
              },
         | 
| 135 149 | 
             
            ]
         | 
| @@ -141,37 +155,48 @@ An array of links. | |
| 141 155 | 
             
            ```ruby
         | 
| 142 156 | 
             
            [
         | 
| 143 157 | 
             
              {
         | 
| 144 | 
            -
                "url" | 
| 145 | 
            -
                "description" | 
| 158 | 
            +
                "url" => "http://www.example.com/~abc1234/xyz/",
         | 
| 159 | 
            +
                "description" => "An interesting description"
         | 
| 146 160 | 
             
              },
         | 
| 147 161 | 
             
            ]
         | 
| 148 162 | 
             
            ```
         | 
| 149 163 |  | 
| 164 | 
            +
            #### organisation
         | 
| 165 | 
            +
            Organisation responsible.
         | 
| 166 | 
            +
             | 
| 167 | 
            +
            ```ruby
         | 
| 168 | 
            +
            {
         | 
| 169 | 
            +
              "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
         | 
| 170 | 
            +
              "name" => "Institute for the Arts",
         | 
| 171 | 
            +
              "type" => "Department"
         | 
| 172 | 
            +
            }
         | 
| 173 | 
            +
            ```
         | 
| 174 | 
            +
             | 
| 150 175 | 
             
            #### person
         | 
| 151 176 | 
             
            Contains an array of internal persons, an array of external persons and an array of other persons.
         | 
| 152 177 |  | 
| 153 178 | 
             
            ```ruby
         | 
| 154 179 | 
             
            {
         | 
| 155 | 
            -
              "internal"=>[
         | 
| 180 | 
            +
              "internal" => [
         | 
| 156 181 | 
             
                {
         | 
| 157 | 
            -
                  "name"=>{
         | 
| 158 | 
            -
                    "first"=>"Stan",
         | 
| 159 | 
            -
                    "last"=>"Laurel"
         | 
| 182 | 
            +
                  "name" => {
         | 
| 183 | 
            +
                    "first" => "Stan",
         | 
| 184 | 
            +
                    "last" => "Laurel"
         | 
| 160 185 | 
             
                   },
         | 
| 161 | 
            -
                   "role"=>"Creator",
         | 
| 162 | 
            -
                   "uuid"=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 186 | 
            +
                   "role" => "Creator",
         | 
| 187 | 
            +
                   "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 163 188 | 
             
                },
         | 
| 164 189 | 
             
              ],
         | 
| 165 | 
            -
              "external"=>[
         | 
| 190 | 
            +
              "external" => [
         | 
| 166 191 | 
             
              ],
         | 
| 167 | 
            -
              "other"=>[
         | 
| 192 | 
            +
              "other" => [
         | 
| 168 193 | 
             
                {
         | 
| 169 | 
            -
                  "name"=>{
         | 
| 170 | 
            -
                    "first"=>"Hal",
         | 
| 171 | 
            -
                    "last"=>"Roach"
         | 
| 194 | 
            +
                  "name" => {
         | 
| 195 | 
            +
                    "first" => "Hal",
         | 
| 196 | 
            +
                    "last" => "Roach"
         | 
| 172 197 | 
             
                  },
         | 
| 173 | 
            -
                  "role"=>"Contributor",
         | 
| 174 | 
            -
                  "uuid"=>""
         | 
| 198 | 
            +
                  "role" => "Contributor",
         | 
| 199 | 
            +
                  "uuid" => ""
         | 
| 175 200 | 
             
                },
         | 
| 176 201 | 
             
              ]
         | 
| 177 202 | 
             
            }
         | 
| @@ -183,8 +208,8 @@ An array of projects associated with the dataset. | |
| 183 208 | 
             
            ```ruby
         | 
| 184 209 | 
             
            [
         | 
| 185 210 | 
             
              {
         | 
| 186 | 
            -
                "title" | 
| 187 | 
            -
                "uuid" | 
| 211 | 
            +
                "title" => "An interesting project title",
         | 
| 212 | 
            +
                "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 188 213 | 
             
              },
         | 
| 189 214 | 
             
            ]
         | 
| 190 215 | 
             
            ```
         | 
| @@ -195,34 +220,34 @@ An array of research outputs associated with the dataset. | |
| 195 220 | 
             
            ```ruby
         | 
| 196 221 | 
             
            [
         | 
| 197 222 | 
             
              {
         | 
| 198 | 
            -
                "type" | 
| 199 | 
            -
                "title" | 
| 200 | 
            -
                "uuid" | 
| 223 | 
            +
                "type" => "Journal article",
         | 
| 224 | 
            +
                "title" => "An interesting journal article title",
         | 
| 225 | 
            +
                "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 201 226 | 
             
              },
         | 
| 202 227 | 
             
              {
         | 
| 203 | 
            -
                "type" | 
| 204 | 
            -
                "title" | 
| 205 | 
            -
                "uuid" | 
| 228 | 
            +
                "type" => "Conference paper",
         | 
| 229 | 
            +
                "title" => "An interesting conference paper title",
         | 
| 230 | 
            +
                "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 206 231 | 
             
              },
         | 
| 207 232 | 
             
              {
         | 
| 208 | 
            -
                "type" | 
| 209 | 
            -
                "title" | 
| 210 | 
            -
                "uuid" | 
| 233 | 
            +
                "type" => "Working paper",
         | 
| 234 | 
            +
                "title" => "An interesting working paper title",
         | 
| 235 | 
            +
                "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 211 236 | 
             
              },
         | 
| 212 237 | 
             
              {
         | 
| 213 | 
            -
                "type" | 
| 214 | 
            -
                "title" | 
| 215 | 
            -
                "uuid" | 
| 238 | 
            +
                "type" => "Paper",
         | 
| 239 | 
            +
                "title" => "An interesting paper title",
         | 
| 240 | 
            +
                "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 216 241 | 
             
              },
         | 
| 217 242 | 
             
              {
         | 
| 218 | 
            -
                "type" | 
| 219 | 
            -
                "title" | 
| 220 | 
            -
                "uuid" | 
| 243 | 
            +
                "type" => "Dataset",
         | 
| 244 | 
            +
                "title" => "An interesting dataset title",
         | 
| 245 | 
            +
                "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 221 246 | 
             
              },
         | 
| 222 247 | 
             
              {
         | 
| 223 | 
            -
                "type" | 
| 224 | 
            -
                "title" | 
| 225 | 
            -
                "uuid" | 
| 248 | 
            +
                "type" => "Chapter",
         | 
| 249 | 
            +
                "title" => "An interesting chapter title",
         | 
| 250 | 
            +
                "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx"
         | 
| 226 251 | 
             
              },
         | 
| 227 252 | 
             
            ]
         | 
| 228 253 | 
             
            ```
         | 
| @@ -232,15 +257,15 @@ Date range. If year is present, month and day will have data or an empty string. | |
| 232 257 |  | 
| 233 258 | 
             
            ```ruby
         | 
| 234 259 | 
             
            {
         | 
| 235 | 
            -
              "start"=>{
         | 
| 236 | 
            -
                "year"=>"2005",
         | 
| 237 | 
            -
                "month"=>"5",
         | 
| 238 | 
            -
                "day"=>"10"
         | 
| 260 | 
            +
              "start" => {
         | 
| 261 | 
            +
                "year" => "2005",
         | 
| 262 | 
            +
                "month" => "5",
         | 
| 263 | 
            +
                "day" => "10"
         | 
| 239 264 | 
             
              },
         | 
| 240 | 
            -
              "end"=>{
         | 
| 241 | 
            -
                "year"=>"2011",
         | 
| 242 | 
            -
                "month"=>"9",
         | 
| 243 | 
            -
                "day"=>"18"
         | 
| 265 | 
            +
              "end" => {
         | 
| 266 | 
            +
                "year" => "2011",
         | 
| 267 | 
            +
                "month" => "9",
         | 
| 268 | 
            +
                "day" => "18"
         | 
| 244 269 | 
             
              }
         | 
| 245 270 | 
             
            }
         | 
| 246 271 | 
             
            ```
         | 
| @@ -253,15 +278,26 @@ An array of addresses. | |
| 253 278 | 
             
            ```ruby
         | 
| 254 279 | 
             
            [
         | 
| 255 280 | 
             
              {
         | 
| 256 | 
            -
                "street"=>"Lancaster University",
         | 
| 257 | 
            -
                "building"=>"Bowland North",
         | 
| 258 | 
            -
                "postcode"=>"LA1 4YN",
         | 
| 259 | 
            -
                "city"=>"Lancaster",
         | 
| 260 | 
            -
                "country"=>"United Kingdom"
         | 
| 281 | 
            +
                "street" => "Lancaster University",
         | 
| 282 | 
            +
                "building" => "Bowland North",
         | 
| 283 | 
            +
                "postcode" => "LA1 4YN",
         | 
| 284 | 
            +
                "city" => "Lancaster",
         | 
| 285 | 
            +
                "country" => "United Kingdom"
         | 
| 261 286 | 
             
              },
         | 
| 262 287 | 
             
            ]
         | 
| 263 288 | 
             
            ```
         | 
| 264 289 |  | 
| 290 | 
            +
            #### parent
         | 
| 291 | 
            +
            Parent organisation.
         | 
| 292 | 
            +
             | 
| 293 | 
            +
            ```ruby
         | 
| 294 | 
            +
            {
         | 
| 295 | 
            +
              "uuid" => "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",
         | 
| 296 | 
            +
              "name" => "Institute for the Arts",
         | 
| 297 | 
            +
              "type" => "Department"
         | 
| 298 | 
            +
            }
         | 
| 299 | 
            +
            ```
         | 
| 300 | 
            +
             | 
| 265 301 | 
             
            ### Publication
         | 
| 266 302 |  | 
| 267 303 | 
             
            #### file
         | 
| @@ -270,10 +306,10 @@ An array of files. | |
| 270 306 | 
             
            ```ruby
         | 
| 271 307 | 
             
            [
         | 
| 272 308 | 
             
              {
         | 
| 273 | 
            -
                "name"=>"foo.csv",
         | 
| 274 | 
            -
                "mime"=>"application/octet-stream",
         | 
| 275 | 
            -
                "size"=>"1616665158",
         | 
| 276 | 
            -
                "url"=>"http://example.com/ws/rest/files/12345678/foo.csv",
         | 
| 309 | 
            +
                "name" => "foo.csv",
         | 
| 310 | 
            +
                "mime" => "application/octet-stream",
         | 
| 311 | 
            +
                "size" => "1616665158",
         | 
| 312 | 
            +
                "url" => "http://example.com/ws/rest/files/12345678/foo.csv",
         | 
| 277 313 | 
             
              },
         | 
| 278 314 | 
             
            ]
         | 
| 279 315 | 
             
            ```
         | 
| @@ -287,9 +323,9 @@ Puree::Date.iso d.available | |
| 287 323 | 
             
            ```
         | 
| 288 324 | 
             
            ```ruby
         | 
| 289 325 | 
             
            {
         | 
| 290 | 
            -
              "year"=>"2016",
         | 
| 291 | 
            -
              "month"=>"4",
         | 
| 292 | 
            -
              "day"=>"18"
         | 
| 326 | 
            +
              "year" => "2016",
         | 
| 327 | 
            +
              "month" => "4",
         | 
| 328 | 
            +
              "day" => "18"
         | 
| 293 329 | 
             
            }
         | 
| 294 330 | 
             
            ```
         | 
| 295 331 | 
             
            becomes
         | 
    
        data/lib/puree.rb
    CHANGED
    
    
    
        data/lib/puree/collection.rb
    CHANGED
    
    | @@ -4,30 +4,48 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Collection < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param api [Symbol]
         | 
| 8 | 
            +
                # @param endpoint [String]
         | 
| 9 | 
            +
                # @param optional username [String]
         | 
| 10 | 
            +
                # @param optional password [String]
         | 
| 11 | 
            +
                def initialize(api: nil,
         | 
| 12 | 
            +
                               endpoint: nil,
         | 
| 13 | 
            +
                               username: nil,
         | 
| 14 | 
            +
                               password: nil)
         | 
| 15 | 
            +
                  super(api: api,
         | 
| 16 | 
            +
                        endpoint: endpoint,
         | 
| 17 | 
            +
                        username: username,
         | 
| 18 | 
            +
                        password: password)
         | 
| 9 19 | 
             
                  @uuids = []
         | 
| 10 20 | 
             
                end
         | 
| 11 21 |  | 
| 12 22 | 
             
                # Get
         | 
| 13 23 | 
             
                #
         | 
| 14 | 
            -
                # @param  | 
| 15 | 
            -
                # @param  | 
| 16 | 
            -
                # @param  | 
| 17 | 
            -
                # @param  | 
| 24 | 
            +
                # @param optional limit [Integer]
         | 
| 25 | 
            +
                # @param optional offset [Integer]
         | 
| 26 | 
            +
                # @param optional created_start [String]
         | 
| 27 | 
            +
                # @param optional created_end [String]
         | 
| 28 | 
            +
                # @param optional modified_start [String]
         | 
| 29 | 
            +
                # @param optional modified_end [String]
         | 
| 18 30 | 
             
                # @return [HTTParty::Response]
         | 
| 19 | 
            -
                def get( | 
| 20 | 
            -
                        username:         nil,
         | 
| 21 | 
            -
                        password:         nil,
         | 
| 31 | 
            +
                def get(
         | 
| 22 32 | 
             
                        limit:            20,
         | 
| 23 33 | 
             
                        offset:           0,
         | 
| 24 34 | 
             
                        created_start:    nil,
         | 
| 25 35 | 
             
                        created_end:      nil,
         | 
| 26 36 | 
             
                        modified_start:   nil,
         | 
| 27 37 | 
             
                        modified_end:     nil)
         | 
| 38 | 
            +
             | 
| 39 | 
            +
                  missing = missing_credentials
         | 
| 40 | 
            +
                  if !missing.empty?
         | 
| 41 | 
            +
                    missing.each do |m|
         | 
| 42 | 
            +
                      puts "#{self.class.name}" + '#' + "#{__method__} missing #{m}"
         | 
| 43 | 
            +
                    end
         | 
| 44 | 
            +
                    exit
         | 
| 45 | 
            +
                  end
         | 
| 28 46 | 
             
                  # strip any trailing slash
         | 
| 29 | 
            -
                  @endpoint = endpoint.sub(/(\/)+$/, '')
         | 
| 30 | 
            -
                  @auth = Base64::strict_encode64(username + ':' + password)
         | 
| 47 | 
            +
                  @endpoint = @endpoint.sub(/(\/)+$/, '')
         | 
| 48 | 
            +
                  @auth = Base64::strict_encode64(@username + ':' + @password)
         | 
| 31 49 |  | 
| 32 50 | 
             
                  @options = {
         | 
| 33 51 | 
             
                      latest_api:       true,
         | 
| @@ -95,6 +113,7 @@ module Puree | |
| 95 113 | 
             
                  xpath_result.each { |i| @uuids << i.text.strip }
         | 
| 96 114 | 
             
                end
         | 
| 97 115 |  | 
| 116 | 
            +
                alias :find :get
         | 
| 98 117 |  | 
| 99 118 | 
             
              end
         | 
| 100 119 |  | 
    
        data/lib/puree/dataset.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Dataset < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :dataset,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # Link
         | 
| @@ -21,7 +27,20 @@ module Puree | |
| 21 27 | 
             
                    o['description'] = i.xpath('description').text.strip
         | 
| 22 28 | 
             
                    data << o
         | 
| 23 29 | 
             
                  }
         | 
| 24 | 
            -
                   | 
| 30 | 
            +
                  data.uniq
         | 
| 31 | 
            +
                end
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                # Organisation
         | 
| 34 | 
            +
                #
         | 
| 35 | 
            +
                # @return [Hash]
         | 
| 36 | 
            +
                def organisation
         | 
| 37 | 
            +
                  path = '//content/managedBy'
         | 
| 38 | 
            +
                  xpath_result =  xpath_query path
         | 
| 39 | 
            +
                  o = {}
         | 
| 40 | 
            +
                  o['uuid'] = xpath_result.xpath('@uuid').text.strip
         | 
| 41 | 
            +
                  o['name'] = xpath_result.xpath('name/localizedString').text.strip
         | 
| 42 | 
            +
                  o['type'] = xpath_result.xpath('typeClassification/term/localizedString').text.strip
         | 
| 43 | 
            +
                  o
         | 
| 25 44 | 
             
                end
         | 
| 26 45 |  | 
| 27 46 | 
             
                # Publisher
         | 
| @@ -260,6 +279,7 @@ module Puree | |
| 260 279 | 
             
                  o['geographical'] = geographical
         | 
| 261 280 | 
             
                  o['keyword'] = keyword
         | 
| 262 281 | 
             
                  o['link'] = link
         | 
| 282 | 
            +
                  o['organisation'] = organisation
         | 
| 263 283 | 
             
                  o['person'] = person
         | 
| 264 284 | 
             
                  o['project'] = project
         | 
| 265 285 | 
             
                  o['production'] = production
         | 
| @@ -0,0 +1,26 @@ | |
| 1 | 
            +
            module Puree
         | 
| 2 | 
            +
             | 
| 3 | 
            +
              # Download resource
         | 
| 4 | 
            +
              #
         | 
| 5 | 
            +
              class Download < Resource
         | 
| 6 | 
            +
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :download,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 15 | 
            +
                end
         | 
| 16 | 
            +
             | 
| 17 | 
            +
                # All metadata
         | 
| 18 | 
            +
                #
         | 
| 19 | 
            +
                # @return [Hash]
         | 
| 20 | 
            +
                # def metadata
         | 
| 21 | 
            +
                #   super
         | 
| 22 | 
            +
                # end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
            end
         | 
    
        data/lib/puree/event.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Event < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :event,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # City
         | 
    
        data/lib/puree/journal.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Journal < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :journal,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # All metadata
         | 
    
        data/lib/puree/map.rb
    CHANGED
    
    | @@ -17,8 +17,13 @@ module Puree | |
| 17 17 | 
             
                    resource_type: {
         | 
| 18 18 | 
             
                      dataset: {
         | 
| 19 19 | 
             
                        service: 'datasets',
         | 
| 20 | 
            -
                        response: 'GetDataSetsResponse'
         | 
| 21 | 
            -
             | 
| 20 | 
            +
                        response: 'GetDataSetsResponse',
         | 
| 21 | 
            +
                        family: 'dk.atira.pure.modules.datasets.external.model.dataset.DataSet'
         | 
| 22 | 
            +
                      },
         | 
| 23 | 
            +
                      download: {
         | 
| 24 | 
            +
                          service: 'downloadcount',
         | 
| 25 | 
            +
                          response: 'GetDownloadCountResponse'
         | 
| 26 | 
            +
                      },
         | 
| 22 27 | 
             
                    }
         | 
| 23 28 | 
             
                  }
         | 
| 24 29 |  | 
    
        data/lib/puree/organisation.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Organisation < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :organisation,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # Address
         | 
| @@ -48,6 +54,18 @@ module Puree | |
| 48 54 | 
             
                  !data.nil? && !data.empty? ? data['localizedString']['__content__'].strip : ''
         | 
| 49 55 | 
             
                end
         | 
| 50 56 |  | 
| 57 | 
            +
                # Parent
         | 
| 58 | 
            +
                #
         | 
| 59 | 
            +
                # @return [Hash]
         | 
| 60 | 
            +
                def parent
         | 
| 61 | 
            +
                  data = organisation
         | 
| 62 | 
            +
                  o = {}
         | 
| 63 | 
            +
                  if !data.empty?
         | 
| 64 | 
            +
                    o = data.first
         | 
| 65 | 
            +
                  end
         | 
| 66 | 
            +
                  o
         | 
| 67 | 
            +
                end
         | 
| 68 | 
            +
             | 
| 51 69 | 
             
                # Phone
         | 
| 52 70 | 
             
                #
         | 
| 53 71 | 
             
                # @return [Array<String>]
         | 
| @@ -87,12 +105,37 @@ module Puree | |
| 87 105 | 
             
                  o['address'] = address
         | 
| 88 106 | 
             
                  o['email'] = email
         | 
| 89 107 | 
             
                  o['name'] = name
         | 
| 108 | 
            +
                  o['parent'] = parent
         | 
| 90 109 | 
             
                  o['phone'] = phone
         | 
| 91 110 | 
             
                  o['type'] = type
         | 
| 92 111 | 
             
                  o['url'] = url
         | 
| 93 112 | 
             
                  o
         | 
| 94 113 | 
             
                end
         | 
| 95 114 |  | 
| 115 | 
            +
             | 
| 116 | 
            +
                private
         | 
| 117 | 
            +
             | 
| 118 | 
            +
             | 
| 119 | 
            +
                # Organisation
         | 
| 120 | 
            +
                #
         | 
| 121 | 
            +
                # @return [Array<Hash>]
         | 
| 122 | 
            +
                def organisation
         | 
| 123 | 
            +
                  path = '//organisations/organisation'
         | 
| 124 | 
            +
                  xpath_result =  xpath_query path
         | 
| 125 | 
            +
             | 
| 126 | 
            +
                  data = []
         | 
| 127 | 
            +
             | 
| 128 | 
            +
                  xpath_result.each do |d|
         | 
| 129 | 
            +
                    o = {}
         | 
| 130 | 
            +
                    o['uuid'] = d.xpath('@uuid').text.strip
         | 
| 131 | 
            +
                    o['name'] = d.xpath('name/localizedString').text.strip
         | 
| 132 | 
            +
                    o['type'] = d.xpath('typeClassification/term/localizedString').text.strip
         | 
| 133 | 
            +
                    data << o
         | 
| 134 | 
            +
                  end
         | 
| 135 | 
            +
                  data.uniq
         | 
| 136 | 
            +
                end
         | 
| 137 | 
            +
             | 
| 138 | 
            +
             | 
| 96 139 | 
             
              end
         | 
| 97 140 |  | 
| 98 141 | 
             
            end
         | 
    
        data/lib/puree/person.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Person < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :person,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # Affiliation
         | 
    
        data/lib/puree/project.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Project < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :project,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # All metadata
         | 
    
        data/lib/puree/publication.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Publication < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :publication,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # Description
         | 
    
        data/lib/puree/publisher.rb
    CHANGED
    
    | @@ -4,8 +4,14 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Publisher < Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param endpoint [String]
         | 
| 8 | 
            +
                # @param optional username [String]
         | 
| 9 | 
            +
                # @param optional password [String]
         | 
| 10 | 
            +
                def initialize(endpoint: nil, username: nil, password: nil)
         | 
| 11 | 
            +
                  super(api: :publisher,
         | 
| 12 | 
            +
                        endpoint: endpoint,
         | 
| 13 | 
            +
                        username: username,
         | 
| 14 | 
            +
                        password: password)
         | 
| 9 15 | 
             
                end
         | 
| 10 16 |  | 
| 11 17 | 
             
                # All metadata
         | 
    
        data/lib/puree/resource.rb
    CHANGED
    
    | @@ -4,28 +4,38 @@ module Puree | |
| 4 4 | 
             
              #
         | 
| 5 5 | 
             
              class Resource
         | 
| 6 6 |  | 
| 7 | 
            -
                 | 
| 8 | 
            -
             | 
| 7 | 
            +
                # @param api [String]
         | 
| 8 | 
            +
                # @param endpoint [String]
         | 
| 9 | 
            +
                # @param optional username [String]
         | 
| 10 | 
            +
                # @param optional password [String]
         | 
| 11 | 
            +
                def initialize( api: nil,
         | 
| 12 | 
            +
                                endpoint: nil,
         | 
| 13 | 
            +
                                username: nil,
         | 
| 14 | 
            +
                                password: nil)
         | 
| 15 | 
            +
                  @resource_type = api
         | 
| 9 16 | 
             
                  @api_map = Puree::Map.new.get
         | 
| 17 | 
            +
                  @endpoint = endpoint.nil? ? Puree::Configuration.endpoint : endpoint
         | 
| 18 | 
            +
                  @username = username.nil? ? Puree::Configuration.username : username
         | 
| 19 | 
            +
                  @password = password.nil? ? Puree::Configuration.password : password
         | 
| 10 20 | 
             
                end
         | 
| 11 21 |  | 
| 12 22 | 
             
                # Get
         | 
| 13 23 | 
             
                #
         | 
| 14 | 
            -
                # @param endpoint [String]
         | 
| 15 | 
            -
                # @param username [String]
         | 
| 16 | 
            -
                # @param password [String]
         | 
| 17 24 | 
             
                # @param uuid [String]
         | 
| 18 25 | 
             
                # @param id [String]
         | 
| 19 26 | 
             
                # @return [HTTParty::Response]
         | 
| 20 | 
            -
                def get( | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
             | 
| 25 | 
            -
             | 
| 27 | 
            +
                def get(uuid: nil, id: nil)
         | 
| 28 | 
            +
                  missing = missing_credentials
         | 
| 29 | 
            +
                  if !missing.empty?
         | 
| 30 | 
            +
                    missing.each do |m|
         | 
| 31 | 
            +
                      puts "#{self.class.name}" + '#' + "#{__method__} missing #{m}"
         | 
| 32 | 
            +
                    end
         | 
| 33 | 
            +
                    exit
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
             | 
| 26 36 | 
             
                  # strip any trailing slash
         | 
| 27 | 
            -
                  @endpoint = endpoint.sub(/(\/)+$/, '')
         | 
| 28 | 
            -
                  @auth = Base64::strict_encode64(username + ':' + password)
         | 
| 37 | 
            +
                  @endpoint = @endpoint.sub(/(\/)+$/, '')
         | 
| 38 | 
            +
                  @auth = Base64::strict_encode64(@username + ':' + @password)
         | 
| 29 39 |  | 
| 30 40 | 
             
                  @options = {
         | 
| 31 41 | 
             
                      latest_api:     true,
         | 
| @@ -124,9 +134,20 @@ module Puree | |
| 124 134 | 
             
                  o
         | 
| 125 135 | 
             
                end
         | 
| 126 136 |  | 
| 137 | 
            +
             | 
| 138 | 
            +
             | 
| 127 139 | 
             
                private
         | 
| 128 140 |  | 
| 129 141 |  | 
| 142 | 
            +
                def collect_uuid
         | 
| 143 | 
            +
                  path = '//renderedItem/@renderedContentUUID'
         | 
| 144 | 
            +
                  xpath_result = xpath_query path
         | 
| 145 | 
            +
                  xpath_result.each { |i| @uuids << i.text.strip }
         | 
| 146 | 
            +
                end
         | 
| 147 | 
            +
             | 
| 148 | 
            +
             | 
| 149 | 
            +
             | 
| 150 | 
            +
             | 
| 130 151 |  | 
| 131 152 | 
             
                # Node
         | 
| 132 153 | 
             
                #
         | 
| @@ -171,6 +192,21 @@ module Puree | |
| 171 192 | 
             
                  doc.xpath path
         | 
| 172 193 | 
             
                end
         | 
| 173 194 |  | 
| 195 | 
            +
                def missing_credentials
         | 
| 196 | 
            +
                  missing = []
         | 
| 197 | 
            +
                  if @endpoint.nil?
         | 
| 198 | 
            +
                    missing << 'endpoint'
         | 
| 199 | 
            +
                  end
         | 
| 200 | 
            +
                  if @username.nil?
         | 
| 201 | 
            +
                    missing << 'username'
         | 
| 202 | 
            +
                  end
         | 
| 203 | 
            +
                  if @password.nil?
         | 
| 204 | 
            +
                    missing << 'password'
         | 
| 205 | 
            +
                  end
         | 
| 206 | 
            +
                  missing
         | 
| 207 | 
            +
                end
         | 
| 208 | 
            +
             | 
| 209 | 
            +
                alias :find :get
         | 
| 174 210 |  | 
| 175 211 | 
             
              end
         | 
| 176 212 | 
             
            end
         | 
    
        data/lib/puree/version.rb
    CHANGED
    
    
    
        data/spec/collection.rb
    CHANGED
    
    | @@ -3,7 +3,7 @@ require 'spec_helper' | |
| 3 3 | 
             
            describe 'Collection' do
         | 
| 4 4 |  | 
| 5 5 | 
             
              it '#new' do
         | 
| 6 | 
            -
                p = Puree::Collection.new( | 
| 6 | 
            +
                p = Puree::Collection.new(api: :dataset)
         | 
| 7 7 | 
             
                expect(p).to be_an_instance_of Puree::Collection
         | 
| 8 8 | 
             
              end
         | 
| 9 9 |  | 
| @@ -12,10 +12,11 @@ describe 'Collection' do | |
| 12 12 | 
             
                  endpoint = ENV['PURE_ENDPOINT']
         | 
| 13 13 | 
             
                  username = ENV['PURE_USERNAME']
         | 
| 14 14 | 
             
                  password = ENV['PURE_PASSWORD']
         | 
| 15 | 
            -
                  @p = Puree::Collection.new( | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 15 | 
            +
                  @p = Puree::Collection.new(api: :dataset,
         | 
| 16 | 
            +
                                             endpoint: endpoint,
         | 
| 17 | 
            +
                                             username: username,
         | 
| 18 | 
            +
                                             password: password)
         | 
| 19 | 
            +
                  @p.find limit: 5
         | 
| 19 20 | 
             
                end
         | 
| 20 21 |  | 
| 21 22 | 
             
                it '#UUID' do
         | 
    
        data/spec/dataset.rb
    CHANGED
    
    | @@ -13,11 +13,10 @@ describe 'Dataset' do | |
| 13 13 | 
             
                  username = ENV['PURE_USERNAME']
         | 
| 14 14 | 
             
                  password = ENV['PURE_PASSWORD']
         | 
| 15 15 | 
             
                  uuid = ENV['PURE_DATASET_UUID']
         | 
| 16 | 
            -
                  @p = Puree::Dataset.new
         | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
                         uuid: uuid
         | 
| 16 | 
            +
                  @p = Puree::Dataset.new(endpoint: endpoint,
         | 
| 17 | 
            +
                                          username: username,
         | 
| 18 | 
            +
                                          password: password)
         | 
| 19 | 
            +
                  @p.find uuid: uuid
         | 
| 21 20 | 
             
                end
         | 
| 22 21 |  | 
| 23 22 | 
             
                it '#access' do
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: puree
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.14.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Adrian Albin-Clark
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016- | 
| 11 | 
            +
            date: 2016-06-10 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: httparty
         | 
| @@ -54,8 +54,10 @@ files: | |
| 54 54 | 
             
            - Rakefile
         | 
| 55 55 | 
             
            - lib/puree.rb
         | 
| 56 56 | 
             
            - lib/puree/collection.rb
         | 
| 57 | 
            +
            - lib/puree/configuration.rb
         | 
| 57 58 | 
             
            - lib/puree/dataset.rb
         | 
| 58 59 | 
             
            - lib/puree/date.rb
         | 
| 60 | 
            +
            - lib/puree/download.rb
         | 
| 59 61 | 
             
            - lib/puree/event.rb
         | 
| 60 62 | 
             
            - lib/puree/journal.rb
         | 
| 61 63 | 
             
            - lib/puree/map.rb
         |