Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

yesyoucam

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

yesyoucam

  • 0.4
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Yes You Cam

A Ridiculously Simple BluePotion Camera Library to help you achieve your dreams...

Gem Version Don't Shia Way

Usage ("Nothing is impossible")

Take a Photo

  # Fire off a photo taking request
  # Returns true if camera intent is presented to the user.
  # Depends on camera existence (YesYouCam.camera_exists?)
  YesYouCam.capture_photo

On Take a Photo Completion - Get Photo

  # called in BluePotion when the photo has been taken (or any activity is completed actually)
  # If you're not using a PMActivity you should capture the onActivityResult method.
  def activity_result(request_code, result_code, data)
    # Verify this activity was for us!
    if (request_code == YesYouCam::CAPTURE_IMAGE_RC)
      if (result_code == YesYouCam::OK) # OR Android::App::Activity::RESULT_OK
        # Photo success!
        mp "Full sized photo located at #{YesYouCam.photo_path}"
        # now you can do find!(:some_image_view).imageBitmap = YesYouCam.bmp_data
      else
        # Photo failed or was cancelled
        app.toast "No Photo"
      end
    end
  end

Want a PNG?

  # Did you need a PNG instead of a JPG?
  YesYouCam.photo_path # Some JPG path
  YesYouCam.pic_to_png
  YesYouCam.photo_path # Some new PNG path

Need the photo discoverable by Photo Libraries and other Apps?

  # Run this and the current photo (YesYouCam.photo_path) will be
  # added to the user's Photo Gallery, and accessible by all apps.
  YesYouCam.add_to_gallery

Let the user select a photo from their library?

  # Fire off a photo choose request
  YesYouCam.choose_photo

Kitchen Sink Example

  app.alert(title: "Update Photo", message: "How would you like to update your photo?", positive_button: "Take Photo", negative_button: "Choose from Library") do |choice|
    case choice
    when "Take Photo"
      YesYouCam.capture_photo
    when "Choose from Library"
      YesYouCam.choose_photo
    end
  end

  def activity_result(request_code, result_code, data)
    if request_code == YesYouCam::CAPTURE_IMAGE_RC
      if result_code == YesYouCam::OK
        # Photo success!
        mp "Full sized photo located at #{YesYouCam.photo_path}"
        find!(:some_image_view).imageBitmap = YesYouCam.bmp_data
      else
        # Photo failed or was cancelled
        app.toast "No Photo"
      end
    elsif request_code == YesYouCam::CHOOSE_IMAGE_RC
      # the chosen photo
      selected_uri = data.getData
      # Did you want the path?
      photo_path = YesYouCam.pic_path_from_uri(selected_uri)
      # Did you want the BMP data?
      bmp_data = YesYouCam.bmp_data(photo_path)
      # Nope, the uri is fine...
      find!(:some_image_view).imageURI = selected_uri
    end
  end

Installation

Add this line to your application's Gemfile:

gem 'yesyoucam'

And then execute:

$ bundle

Now make sure your Rakefile has camera permissions and features needed:

# This gem will try to add permissions, but it's best that you assure they are set!
app.permissions += [:write_external_storage]
# This gem will add this feature, but it's safest for you to also set it!
app.features = ["android.hardware.camera"]

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Order some mexican food and beat a piñata
  6. Create new Pull Request

FAQs

Package last updated on 07 Aug 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc