{"id":15683517,"url":"https://github.com/mikz/space_monkey","last_synced_at":"2025-05-07T13:06:45.604Z","repository":{"id":18919796,"uuid":"22138784","full_name":"mikz/space_monkey","owner":"mikz","description":"Ruby Client for Space Monkey API","archived":false,"fork":false,"pushed_at":"2014-07-31T09:15:11.000Z","size":224,"stargazers_count":9,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T13:06:40.104Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mikz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-23T08:43:04.000Z","updated_at":"2023-08-01T19:46:44.000Z","dependencies_parsed_at":"2022-09-10T22:22:45.468Z","dependency_job_id":null,"html_url":"https://github.com/mikz/space_monkey","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikz%2Fspace_monkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikz%2Fspace_monkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikz%2Fspace_monkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mikz%2Fspace_monkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mikz","download_url":"https://codeload.github.com/mikz/space_monkey/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252883204,"owners_count":21819160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T17:06:32.627Z","updated_at":"2025-05-07T13:06:45.575Z","avatar_url":"https://github.com/mikz.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpaceMonkey [![Build Status](https://travis-ci.org/mikz/space_monkey.svg)](https://travis-ci.org/mikz/space_monkey) [![Coverage Status](https://img.shields.io/coveralls/mikz/space_monkey.svg)](https://coveralls.io/r/mikz/space_monkey)\n\nRuby Client for Space Monkey API.\n\nExperimental. Space Monkey API is not public yet and it can change any time.\n\n## What is Space Monkey?\n\nSpace Monkey (https://www.spacemonkey.com/) is a 1TB Hard Drive with cloud backup.\nWhen your device is offline, you can access to the files distributed in cloud network.\nTheir [Kickstarter page](https://www.kickstarter.com/projects/clintgc/space-monkey-taking-the-cloud-out-of-the-datacente) has great video explaining what they do.\n\n## Installation\n\nAdd this line to your application's Gemfile:\n\n    gem 'space_monkey'\n\nAnd then execute:\n\n    $ bundle\n\nOr install it yourself as:\n\n    $ gem install space_monkey\n\n## Usage\n\n### Downloading a file\n\n```ruby\nclient = SpaceMonkey::Client.new\nclient.login('email@example.com', 'password')\n\nphotos = client.inode.path('Photos')\n\nfirst_photo = client.photos.entries.first \n\nFile.open(first_photo.name, 'wb') do |file|\n  file.write client.file.download(first_photo, network_reads: true)\nend\n```\n\n### Uploading a file\n\n```ruby\nclient = SpaceMonkey::Client.new\nclient.account.login('email@example.com', 'password')\n\nphotos = client.inode.home\n\nfile = client.file.new(name: 'somefile.jpg')\nio = File.open('to_upload.jpg')\n\nuploaded = client.file.upload(file, inode, io)\n```\n\n\n## What is supported\n\n- [x] Downloads\n- [x] Uploads\n- [x] Thumbnails\n- [x] Sharing\n- [ ] Moving\n- [ ] Deleting\n- [ ] Bulk Actions\n\n## TODO\n\n1. figure out how to stream files\n   httpclient allows it, but faraday does not\n2. create fake server for testing\n\n## Contributing\n\n1. Fork it ( https://github.com/mikz/space_monkey/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikz%2Fspace_monkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmikz%2Fspace_monkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmikz%2Fspace_monkey/lists"}