Practical Ruby Gems

Total Page:16

File Type:pdf, Size:1020Kb

Practical Ruby Gems 8113Ch00CMP2 3/28/07 5:27 PM Page i Practical Ruby Gems David Berube 8113Ch00CMP2 3/28/07 5:27 PM Page ii Practical Ruby Gems Copyright © 2007 by David Berube All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-811-5 ISBN-10 (pbk): 1-59059-811-3 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Jason Gilmore Technical Reviewer: Yan Pritzker Editorial Board: Steve Anglin, Ewan Buckingham, Gary Cornell, Jason Gilmore, Jonathan Gennick, Jonathan Hassell, James Huddleston, Chris Mills, Matthew Moodie, Jeff Pepper, Paul Sarknas, Dominic Shakeshaft, Jim Sumser, Matt Wade Project Manager: Richard Dal Porto Copy Edit Manager: Nicole Flores Copy Editor: Candace English Assistant Production Director: Kari Brooks-Copony Production Editor: Kelly Winquist Compositor: Diana Van Winkle, Van Winkle Design Proofreader: Liz Welch Indexer: Julie Grady Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail [email protected], or visit http://www.springeronline.com. For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail [email protected], or visit http://www.apress.com. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at http://www.apress.com in the Source Code/ Download section. 8113Ch00CMP2 3/28/07 5:27 PM Page iii Dedicated to my parents 8113Ch00CMP2 3/28/07 5:27 PM Page iv Contents at a Glance About the Author . xiii Acknowledgments . xv PART 1 ■ ■ ■ Using RubyGems ■CHAPTER 1 What Is RubyGems? . 3 ■CHAPTER 2 Installing RubyGems . 7 ■CHAPTER 3 Using RubyGems in Your Code . 13 ■CHAPTER 4 Managing Installed Gem Versions . 25 PART 2 ■ ■ ■ Using Particular Gems ■CHAPTER 5 Data Access with the ActiveRecord Gem . 35 ■CHAPTER 6 Easy Text Markup with the BlueCloth Gem . 45 ■CHAPTER 7 Creating Web Applications with Camping . 53 ■CHAPTER 8 Creating Command-Line Utilities with cmdparse . 69 ■CHAPTER 9 HTML Templating with erubis . 81 ■CHAPTER 10 Parsing Feeds with feedtools . 89 ■CHAPTER 11 Creating Graphical User Interfaces with fxruby . 95 ■CHAPTER 12 Retrieving Stock Quotes with YahooFinance . 103 ■CHAPTER 13 Parsing HTML with hpricot . 109 ■CHAPTER 14 Writing HTML as Ruby with Markaby . 115 ■CHAPTER 15 Parsing CSV with fastercsv . 121 ■CHAPTER 16 Multiple Dispatch with multi . 127 ■CHAPTER 17 Serving Web Applications with mongrel . 137 ■CHAPTER 18 Transferring Files Securely with net-sftp . 145 ■CHAPTER 19 Executing Commands on Remote Servers with net-ssh . 149 ■CHAPTER 20 Validating Credit Cards with creditcard . 155 ■CHAPTER 21 Writing PDFs with pdf-writer . 159 ■CHAPTER 22 Handling Recurring Events with runt . 167 iv 8113Ch00CMP2 3/28/07 5:27 PM Page v ■CHAPTER 23 Building Websites with Rails . 175 ■CHAPTER 24 Automating Development Tasks with rake . 183 ■CHAPTER 25 Manipulating Images with RMagick . 191 ■CHAPTER 26 Speeding Up Web Applications with memcache-client . 199 ■CHAPTER 27 Managing Zip Archives with rubyzip . 209 ■CHAPTER 28 Speeding Up Function Calls with memoize . 215 ■CHAPTER 29 Tagging MP3 Files with id3lib-ruby . 221 ■CHAPTER 30 Shortening URLs with shorturl . 227 ■CHAPTER 31 Creating Standalone Ruby Applications with rubyscript2exe . 231 ■CHAPTER 32 Cleaning Dirty HTML with tidy . 237 ■CHAPTER 33 Parsing XML with xml-simple . 245 PART 3 ■ ■ ■ Creating Gems ■CHAPTER 34 Creating Our Own Gems . 255 ■CHAPTER 35 Distributing Gems . 261 ■INDEX . 267 v 8113Ch00CMP2 3/28/07 5:27 PM Page vi 8113Ch00CMP2 3/28/07 5:27 PM Page vii Contents About the Author . xiii Acknowledgments . xv PART 1 ■ ■ ■ Using RubyGems ■CHAPTER 1 What Is RubyGems? . 3 Why Use RubyGems? . 3 How Does RubyGems Compare to Other Packaging Systems? . 6 ■CHAPTER 2 Installing RubyGems . 7 Installing Ruby . 7 Installing RubyGems Under Linux and Mac OS X . 10 Updating Your RubyGems System After You’ve Installed It . 11 ■CHAPTER 3 Using RubyGems in Your Code . 13 Getting Started with a Ruby Gem . 13 Working with Source Gems . 20 Debugging RubyGems . 23 ■CHAPTER 4 Managing Installed Gem Versions . 25 What Is Gem Versioning? . 25 Installing an Older Gem Version . 26 Updating Gems . 27 Uninstalling Gems . 28 Specifying Gem Versions . 29 vii 8113Ch00CMP2 3/28/07 5:27 PM Page viii viii ■CONTENTS PART 2 ■ ■ ■ Using Particular Gems ■CHAPTER 5 Data Access with the ActiveRecord Gem . 35 How Does It Work? . 36 Archiving RSS News with ActiveRecord . 39 Conclusion . 44 ■CHAPTER 6 Easy Text Markup with the BlueCloth Gem . 45 How Does It Work? . 45 BlueCloth-to-HTML Converter . 46 bluecloth2pdf BlueCloth-to-PDF Converter . 48 Conclusion . 51 ■CHAPTER 7 Creating Web Applications with Camping . 53 How Does It Work? . 53 Tracking Time with Camping . 56 Conclusion . 68 ■CHAPTER 8 Creating Command-Line Utilities with cmdparse . 69 How Does It Work? . 69 A Job-Search Tool Built with cmdparse . 71 Conclusion . 79 ■CHAPTER 9 HTML Templating with erubis . 81 How Does It Work? . 81 HTML MySQL Table Viewer with erubis . 83 Conclusion . 88 ■CHAPTER 10 Parsing Feeds with feedtools . ..
Recommended publications
  • The Question of Quality Or Quantity Camping - ~Ill Lou Th Roun
    the e~t sb­ nty >irs :en­ .., ,..,_,....,_ Jr~ lue­ ·ad­ lfO· find bet tatt The Question of Quality or Quantity Camping - ~ill lOU th roun 1 an ~ of ,-er Vacation (7) Camping at Clear Lake 10 Years Ago (Page 6) Pago 2 I 0 W A C 0 N S E R VAT I 0 N I S T Iowa Conservationist Vol. 29 May, 1970 No. 5 Publ1shed monthly by the lowo Conservo tion Com­ miss on, State Office Building 3 0 4tn Street, Des Moines, lowo 50319. Address all mail (subscriphons. NORTHERN PIKE or MUSKY? chonge of oddress, Form 3579. monuscripts, moil .terns} to the obo\le oddress. Subscription price: two years at $1.00 Attention Io,,a anglers can ~ou dif­ and therefore t'allnot alwa\ s be depended Second closs post11ge p11 id ot Des Moines, Iowa ferentiate between a northern pike and upon. Mu skies arc usuall~ olive to dark (No Rights Reserved} a muskellunge? As these t\\O species a re J.!Ta~ "ith tiger-like markings on the side~. Robert D. Ray, Governor quite similar in appearance it is impor tant The northern pike are normally a bluish Fred A. Pnewert, D rect for anglers to know the identifkation dif­ g 1et!n to gra~ on the hack \\ ith irregular MEMBERS OF THE COMMISSION ferences or the} could possible \iolate the rows of light ivory colored spots on the KEITH A M NURLEN Cho rn ,n . Ames Jaw. Correct identification is necessary sides running length'"ise. EARL A. JARV S. Vice Choirman .
    [Show full text]
  • ROADS and BRIDGES: the UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface
    Roads and Bridges:The Unseen Labor Behind Our Digital Infrastructure WRITTEN BY Nadia Eghbal 2 Open up your phone. Your social media, your news, your medical records, your bank: they are all using free and public code. Contents 3 Table of Contents 4 Preface 58 Challenges Facing Digital Infrastructure 5 Foreword 59 Open source’s complicated relationship with money 8 Executive Summary 66 Why digital infrastructure support 11 Introduction problems are accelerating 77 The hidden costs of ignoring infrastructure 18 History and Background of Digital Infrastructure 89 Sustaining Digital Infrastructure 19 How software gets built 90 Business models for digital infrastructure 23 How not charging for software transformed society 97 Finding a sponsor or donor for an infrastructure project 29 A brief history of free and public software and the people who made it 106 Why is it so hard to fund these projects? 109 Institutional efforts to support digital infrastructure 37 How The Current System Works 38 What is digital infrastructure, and how 124 Opportunities Ahead does it get built? 125 Developing effective support strategies 46 How are digital infrastructure projects managed and supported? 127 Priming the landscape 136 The crossroads we face 53 Why do people keep contributing to these projects, when they’re not getting paid for it? 139 Appendix 140 Glossary 142 Acknowledgements ROADS AND BRIDGES: THE UNSEEN LABOR BEHIND OUR DIGITAL INFRASTRUCTURE Preface Our modern society—everything from hospitals to stock markets to newspapers to social media—runs on software. But take a closer look, and you’ll find that the tools we use to build software are buckling under demand.
    [Show full text]
  • Puppet Dashboard 1.2 Manual
    Puppet Dashboard Manual (Generated on July 01, 2013, from git revision 46784ac1656bd7b57fcfb51d0865ec7ff65533d9) Puppet Dashboard 1.2 Manual This is the manual for Puppet Dashboard 1.2. Overview Puppet Dashboard is a web interface for Puppet. It can view and analyze Puppet reports, assign Puppet classes and parameters to nodes, and view inventory data and backed-up file contents. Chapters Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Installing Puppet Dashboard This is a chapter of the Puppet Dashboard 1.2 manual. NAVIGATION Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Overview Puppet Dashboard is a Ruby on Rails web app that interfaces with Puppet. It will run on most modern Unix-like OSes (including Mac OS X and most Linux distributions), requires a certain amount of supporting infrastructure, and can be deployed and served in a variety of ways. Dashboardʼs web interface supports the following browsers: Chrome (current versions) Firefox 3.5 and higher Puppet Dashboard Manual • Puppet Dashboard 1.2 Manual 2/27 Safari 4 and higher Internet Explorer 8 and higher Installing, in Summary In outline, the steps to get Dashboard running are: Installing the external dependencies Installing the Dashboard code Configuring Dashboard Creating and configuring a MySQL database Testing that Dashboard is working Configuring Puppet Starting the delayed job worker processes Running Dashboard in a production-quality server After completing these tasks, Dashboardʼs main functionality will be on-line and working smoothly. You can then configure Dashboard further and enable optional features If you are trying to upgrade Puppet Dashboard instead of installing it from scratch, see the chapter of this manual on upgrading instead of reading further in this chapter.
    [Show full text]
  • Build Tools & Package Manager
    Module Checklist Build Tools & Package Manager By Techworld with Nana Video Overview ★ Introduction to Build and Package Manager Tools ★ Install Build Tools ★ Windows Installation Help - Part 1 ★ Windows Installation Help - Part 2 ★ MacOS/Unix Installation Help ★ Build Artifact ★ Build Tools for Development (Managing Dependencies) ★ Run/Start the application ★ Build JavaScript applications ★ Other Programming Languages ★ Publish Artifact ★ Build Tools & Docker ★ Build Tools & DevOps Demo Infos Java Gradle Project https://gitlab.com/nanuchi/java-app Java Maven Project https://gitlab.com/nanuchi/java-maven-app React-Node Project https://github.com/bbachi/react-nodejs-example Check your progress... 1/3 Introduction to Build & Package Manager Tools ❏ Watched video Install Build Tools ❏ Watched video ❏ Go to Windows or MacOS/Unix Installation Help Useful Links: ● Maven: https://maven.apache.org/install.html ● Node.js: https://nodejs.org/en/download/ - npm is distributed with Node.js Windows Installation Help - Part 1 + 2 ❏ Watched video ❏ Installed everything Useful Links: ● Java on Windows: https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html MacOS/Unix Installation Help ❏ Watched video ❏ Installed everything Useful Links: ● Homebrew Package Manager: https://brew.sh/ ● Java on Mac/Linux: Install using your OS package manager (e.g. brew) ● Symbolic Link Cmd I use in the demo: https://mkyong.com/java/how-to-install-java-on-mac-osx/ Check your progress… 2/3 Build Artifact ❏ Watched video ❏ Demo executed ❏ Built Java Gradle Project ❏ Built Java Maven Project Build Tools for Development ❏ Watched video ❏ Demo executed - add a new dependency to project Run the application ❏ Watched video ❏ Demo executed Build JavaScript applications ❏ Watched video ❏ Demo executed Other Programming Languages ❏ Watched video Publish artifact ❏ Watched video Check your progress… 3/3 Build Tools & Docker ❏ Watched video Build Tools & DevOps ❏ Watched video More Resources..
    [Show full text]
  • Shubham Sali
    SHUBHAM SALI Harrison, New Jersey, 07029|[email protected]|973-438-0289| [LinkedIn] [Portfolio] [GitHub] PROFESSIONAL SUMMARY Junior Web Developer with more than 1-year experience, looking to secure a position in the field of Software/Web Development where I could efficiently learn and develop my skills and build a professional career. WORK EXPERIENCE H. T. Switchgears Pune, India Web Developer Intern March 2015 - May 2015 • Created a website layout for the company using HTML, CSS, JavaScript. • Responsible for maintaining, expanding and scaling of company’s website. H. T. Switchgears Pune, India Junior Web Developer July 2015 - September 2016 • Designed and modified H. T. Switchgears website. • Evaluated the code and implemented best design practices to ensure consistent user experience on any browser, devices or operating system. • Implemented and executed programming projects using Java and Java Swing. • Developed responsive pages using HTML, CSS, JavaScript, PHP, and WordPress. New Jersey Institute of Technology, Newark, NJ Jan 2018 – Dec 2018 Office Assistant and Desk Attendant TECHNICAL SKILLS • Programming Languages: HTML, CSS, PHP, Java, Java Swing, SQL, PL/SQL, MATLAB, C, C++ • Scripting Languages: JavaScript, jQuery, Node.js • Frameworks: Express, Bootstrap, Mongoose, Semantic • Databases: MySQL, Oracle, Aqua Data Studio, MongoDB • Software: Microsoft Office, Eclipse, NetBeans, IntelliJ, Sublime Text, Visual Studio Code, WordPress, Local by Flywheel, AWS Cloud9, Android Studio, Weka • Operating System: Microsoft Windows, Linux, Mac OS • Version Control: GitHub ACADEMIC PROJECTS Chat Application (Android Studio) • Designed a mobile chat application using Android Studio and Firebase. • Implemented for near real-time instant messaging (IM) and contact list maintenance. Online Membership System (Java, SQL, JDBC, Swing) • Developed a Java application for Online Membership using Swing which provides two levels of access, User and Administrator.
    [Show full text]
  • Rubabel: Wrapping Open Babel with Ruby Rob Smith1*, Ryan Williamson1, Dan Ventura1 and John T Prince2*
    Smith et al. Journal of Cheminformatics 2013, 5:35 http://www.jcheminf.com/content/5/1/35 SOFTWARE Open Access Rubabel: wrapping open Babel with Ruby Rob Smith1*, Ryan Williamson1, Dan Ventura1 and John T Prince2* Abstract Background: The number and diversity of wrappers for chemoinformatic toolkits suggests the diverse needs of the chemoinformatic community. While existing chemoinformatics libraries provide a broad range of utilities, many chemoinformaticians find compiled language libraries intimidating, time-consuming, arcane, and verbose. Although high-level language wrappers have been implemented, more can be done to leverage the intuitiveness of object-orientation, the paradigms of high-level languages, and the extensibility of languages such as Ruby. We introduce Rubabel, an intuitive, object-oriented suite of functionality that substantially increases the accessibily of the tools in the Open Babel chemoinformatics library. Results: Rubabel requires fewer lines of code than any other actively developed wrapper, providing better object organization and navigation, and more intuitive object behavior than extant solutions. Moreover, Rubabel provides a convenient interface to the many extensions currently available in Ruby, greatly streamlining otherwise onerous tasks such as creating web applications that serve up Rubabel functionality. Conclusions: Rubabel is powerful, intuitive, concise, freely available, cross-platform, and easy to install. We expect it to be a platform of choice for new users, Ruby users, and some users of current solutions. Keywords: Chemoinformatics, Open Babel, Ruby Background tasks. Though it allows the user to access the functionality Despite the fact that chemoinformatics tools have been of the component libraries from one Python script, Cin- developed since the late 1990s [1], the field has yet to fony does not automatically manage underlying data types rally in support of a single library.
    [Show full text]
  • Our Ln[Ew Churchi Camping Crounds Mr
    > i :^?-K yui^"" hi •-'•--• • u T- •;; .-:-"- / ft yyy 0m^Ji^ yy yrm: ' TV •'• A hyy • ;^.-»_'•: i-?y--y. iyy li;::f BAPTIST • / OKL.A «-0 AA A CITY 1K •I -sMiir * -- ^ - - .' >• ED I T I o ik / OF THE Through the 4th Annual Award of i University Scholarships folr - y-y}^^y4.:^yy}m-§^^^ •y-ym^mMM High School Graduates •/••-y^ymlMm April 1, 1943 For Tuition MAY 3, 1943~JUNE, 1944, at O. i U. on the basis of • ^ j Competitive General Examinations Our lN[ew Churchi Camping Crounds Mr. and Mrs. E. W. Bourne, the pa­ The purpose of the scholarships is to give opportunity to stu­ rents of Mrs. Stella M. Crockett, have : ' - .-y-.:J^'^y:iL-\-y^\ii -^--^f dents with real ability. given our church a site for a camp ^-•:-,mymmm§:< grounds estimated to embrace about The examinations will be conducted by Dr. John W. Raley or seven acres of. land. This is near the Mr. John Hall Jones during April, 1943, in district competitions Bourne Dairy on Grand Boulevard, northwest of Lincoln Park. We are • ^y-'-.'r. at central locations. Applicants meet in the Young People's De­ planning a recognition of this gift at : -y '•-•'^^m^mm'm yyyy^ the evening preaching service Sunday, I -' y. >r-: partments of Baptist churches at 2 P. M. during the Baptist W. M.U. District Meetings as listed below: H evening, April 4. i'yyy_ One week later we plan a dedication service for the camp grounds on the .•' -y- '-'^•'k''^y-'dj:&pty- Place Baptisi Church grounds themselves.
    [Show full text]
  • California Coastal Commission Staff Report and Recommendation Regarding Cease and Desist Orders No CCC-13-CD-06 and CCC-13-CD-07
    STATE OF CALIFORNIA—NATURAL RESOURCES AGENCY EDMUND G. BROWN JR., GOVERNOR CALIFORNIA COASTAL COMMISSION 45 FREMONT, SUITE 2000 SAN FRANCISCO, CA 94105- 2219 VOICE (415) 904- 5200 FAX ( 415) 904- 5400 TDD (415) 597-5885 F 5.1, 5.3, 5.5, and 5.7 ADDENDUM June 13, 2013 TO: Coastal Commissioners and Interested Parties FROM: Lisa Haage, Chief of Enforcement SUBJECT: ADDENDUM TO ITEM NO. F 5.1, 5.3, 5.5, AND 5.7 – CONSENT CEASE AND DESIST AND RESTORATION ORDERS (PARKER AND VENTANA) FOR THE COMMISSION MEETING OF June 14, 2013 I. Errata: A. Changes to Staff Report for Consent Cease and Desist Orders CCC-13-CD-06 and -07 and Consent Restoration Orders CCC-13-RO-06 and -07: Commission staff hereby revises the Staff Report for the Ventana and Parker Consent Orders. Language to be added is shown in italic, bold, and underlined. 1. On Page 21 of the Staff Report, line 16 shall be amended as follows: “The damage includes… the alteration (because of potential sedimentation) of the waterways, as described in the Section V(D)(2)(a-b) above.” B. Changes to Consent Cease and Desist Orders CCC-13-CD-06 and -07 and Consent Restoration Orders CCC-13-RO-06 and -07: 2. Staff notes that Exhibit 1a and b to Appendix B of the Staff Report (CCC-13- CD-07 and CCC-13-RO-07 - Ventana Consent Orders) regarding public access and informational signage will be supplemented as required by and Addendum for June 14, 2013 Page - 2 - consistent with sections 12.0 and 12.2 of those orders.
    [Show full text]
  • HIKING Fall Is Prime Time to Hit NW Trails
    WWW.MOUNTAINEERS.ORG SEPTEMBER/OCTOBER 2013 • VOLUME 107 • NO. 5 MountaineerE X P L O R E • L E A R N • C O N S E R V E HIKING Fall is prime time to hit NW trails INSIDE: 2013-14 Course Guide, pg. 13 Foraging camp cuisine, pg. 19 Bear-y season, pg. 21 Larches aglow, pg. 27 inside Sept/Oct 2013 » Volume 107 » Number 5 13 2013-14 Course Guide Enriching the community by helping people Scope out your outdooor course load explore, conserve, learn about, and enjoy the lands and waters of the Pacific Northwest and beyond. 19 Trails are ripe with food in the fall Foraging recipes for berries and shrooms 19 21 Fall can be a bear-y time of year Autumn is often when hiker and bear share the trail 24 Our ‘Secret Rainier’ Part III A conifer heaven: Crystal Peak 27 Fall is the right time for larches Destinations for these hardy, showy trees 37 A jewel in the Olympics 21 The High Divide is a challenge and delight 8 CONSERVATION CURRENTS Makng a case for the Wild Olympics 10 OUTDOOR ED Teens raising the bar in oudoor adventure 28 GLOBAL ADVENTURES European resorts: winter panaceas 29 WEATHERWISE 37 Indicators point to an uneventful fall and winter 31 MEMBERSHIP MATTERS October Board of Directors Elections 32 BRANCHING OUT See what’s going on from branch to branch 46 LAST WORD Innovation the Mountaineer uses . DISCOVER THE MOUNTAINEERS If you are thinking of joining—or have joined and aren’t sure where to start—why not set a date to meet The Mountaineers? Check the Branching Out section of the magazine (page 32) for times and locations of informational meetings at each of our seven branches.
    [Show full text]
  • To Use a Binary Repository Manager When Developing with Rubygems
    10 Reasons To Use A Binary Repository Manager When Developing With RubyGems White Paper Introduction Over the last several years software development has evolved from packages within your organization, whether developed in-house, focusing on in-house coding to making extensive usage of binary downloaded from RubyGems.org or downloaded from other components such as free open-source libraries and commercial 3rd party resources. This white paper describes how Artifactory libraries as well as proprietary libraries built addresses the above issues, substantially reducing development in-house. Already in a survey conducted back in 2010, 98% of and build time, while requiring very little effort from your organization. enterprise level companies reported that they use open source software1, and a typical software project today will be comprised of more assembled components than proprietary code. Companies developing with Ruby are no exception. Over 3 Billion gems have been downloaded from RubyGems.org since its inception in 20092. While there are many benefits to using RubyGems, there are still several challenges that it does not address. Some of these are: • Long and network intensive build processes • Offline access to packages and metadata • Security and access control for gems • Sharing internal and external gems • Binary version tracking to reproduce builds • Searching for gems based on different criteria • Stability and reliability of systems hosting gems • Customized handling of gems • Maintenance and monitoring of artifacts Artifactory is a Binary Repository Manager that manages all All rights reserved. 2015 © JFrog Ltd. August 2015 | JFrog Ltd. | www.jfrog.com 2 REDUCE NETWORK TRAFFIC 01 AND OPTIMIZE BUILDS Since much of your code is likely to be assembled rather than built, hundreds of gems from RubyGems.org.
    [Show full text]
  • Recreation Program and Event Planning for Diverse Populations
    Recreation Program and Event Planning for Diverse Populations Sid Stevenson 2008 Chapter 1 Recreation and Leisure Review TABLE OF CONTENTS CHAPTER ONE RECREATION AND LEISURE REVIEW . 1 Why Recreation Programming? .................................................. 2 Recreation Review ............................................................ 2 Perceived Benefits ..................................................... 3 Leisure Logistics ....................................................... 9 CHAPTER TWO THE MARKETING CONCEPT.................................... 15 The Aim of Marketing in Leisure Service Supply . 15 Defining Recreation Programming in Marketing terms . 18 Who are Recreation Programmers? ........................................ 18 CHAPTER THREE UNDERSTANDING THE RECREATION CONSUMER . 23 A Strategic Plan ............................................................. 24 Contents of a Strategic Plan .................................................... 25 ................................................................... 29 Grouping Consumers ................................................... 29 Market Research ............................................................. 31 RECREATION NEEDS AND FACILITY ASSESSMENT .................................................................... 46 Stage in the Family Lifecycle. ............................................ 58 CHAPTER FOUR COMMUNITY AND AGENCY PROFILES STRATEGIC PLANNING . 59 II. Community Profile:........................................................ 59 Demographics .......................................................
    [Show full text]
  • African American Humor : the Best Black Comedy from Slavery to Today
    AFRICAN AMERICAN HUMOR : THE BEST BLACK COMEDY FROM SLAVERY TO TODAY Author: Dick Gregory Number of Pages: 400 pages Published Date: 01 Aug 2002 Publisher: A Cappella Books Publication Country: Chicago, IL, United States Language: English ISBN: 9781556524318 DOWNLOAD: AFRICAN AMERICAN HUMOR : THE BEST BLACK COMEDY FROM SLAVERY TO TODAY African American Humor : The Best Black Comedy from Slavery to Today PDF Book com, offer the definitive guide to the modern workplace. Seven previous events have been held in di?erentplacesinPolandsince1994. It provides a clear and thorough guide to contemporary theory, research, and applied practice, covering core themes and cutting-edge topics as well as highlighting directions for future research. If you are ready to become debt free and live a financially stress-free life, turn the page over to Part One, where I discuss what credit is and how it can either destroy you or make you rich, depending on how you use it. From inflammation and water retention to digestion and hormones, Haylie knows how to supercharge your metabolism to burn fat quickly. About the Publisher Forgotten Books publishes hundreds of thousands of rare and classic books. She also writes a weekly column for The Arizona Republic and appears on local Phoenix and national television stations with segments on garage sales. The new edition is fully up to date with current policy and legislation and now includes; New Research boxes' in each chapter helping students link theory to practice Increased coverage on children's social and emotional development A brand new companion website including a selection of free SAGE Journal articles, annotated further readings, weblinks and useful online materials.
    [Show full text]