Active Record Methods in Detail

Total Page:16

File Type:pdf, Size:1020Kb

Active Record Methods in Detail 8474_chAppAFINAL.qxd 8/25/07 9:17 AM Page 215 APPENDIX ■ ■ ■ Active Record Methods in Detail ActiveRecord::Base Public Class Methods ==(object_to_compare) This method returns true if the object_to_compare is the same as the receiving object or is of the same Active Record class and has the same ID. [](attribute_name) This method returns the value of the specified attribute after it has been typecast and is an alias for the protected read_attribute method of an Active Record class. While a common method of accessing the attributes of an Active Record class is via a method call, like account.first_name, Active Record overrides the [] operator to make each of the attributes available as a hash parameter on the Active Record class. For example, you can also use the form account[:first_name]. []==(attribute_name, new_value) This method is an alias for the protected write_attribute method of an Active Record class, and it allows you to set attribute values using a hash-like syntax, for example: account[:last_name] = "Pytel" abstract_class?() abstract_class? returns true if the specified Active Record class is a base Active Record class and false if it is not. attr_accessible(*attributes) This method takes an array of attributes and makes them the only available attributes for mass assignment operations, such as with new(attributes) and attributes=(attributes). All other attributes of the Active Record class become unavailable for mass assignment operations. The attr_protected(*attributes) method is the reverse of this operation. 215 8474_chAppAFINAL.qxd 8/25/07 9:17 AM Page 216 216 APPENDIX ■ ACTIVE RECORD METHODS IN DETAIL attr_protected(*attributes) This method takes an array of attributes and makes them unavailable for mass assignment operations, such as new(attributes) and attributes=(attributes). All other attributes of the Active Record class remain unchanged. The attr_accessible(*attributes) method is the reverse of this method. base_class() base_class returns the base Active Record class from which the specified Active Record class descends. benchmark(title, log_level = Logger::DEBUG, use_silence = true) {|| . .} This method logs and benchmarks the statements that are specified in its block: Account.benchmark("Creating and Finding Account") do account = Account.new(:username = > "cpytel") account.save accout.find_by_username("cpytel") end The benchmark is only performed if the current logging level matches the specified log_level. This allows you to specify benchmarking calls in production software without worrying about a performance hit from the benchmark. Logging multiple statements of the benchmark is enabled by default but can be turned off by passing false to use_silence. clear_active_connections!() The method clears the cache that maps classes to database connections. column_names() column_names returns an array of strings that are the column names for the database table associated with this Active Record class. columns() With columns, you can return an array of column objects for the database table associated with this Active Record class. columns_hash() This method returns a hash of column objects for the database table associated with this Active Record class. 8474_chAppAFINAL.qxd 8/25/07 9:17 AM Page 217 APPENDIX ■ ACTIVE RECORD METHODS IN DETAIL 217 connected?() The connected? method returns true if a database connection that is usable by this class has been opened. connection() To return the connection currently associated with the class, use the connection method. This method can also be used to obtain the connection in order to work directly with the database, for example: Account.connection.select_values("SELECT id FROM accounts WHERE created_at < " + Time.now – 1.day) connection=(connection_specification) This method manually sets the database connection for an Active Record class. content_columns() This method returns an array of column objects that Active Record considers the actual con- tent, or data, of the Active Record class. Therefore, this array does not include the primary ID column, any columns ending in _id or _count, and any columns used for single table inheritance. count_by_sql(sql_query_string) The method returns the result of an SQL query that should only include COUNT(*) in the SELECT part of the SQL query: Account.count_by_sql("SELECT COUNT(*) FROM accounts") create(attributes = nil) The create method instantiates and immediately saves the Active Record class with the values specified in the attributes hash, if validations permit. The newly created Active Record object is returned regardless of whether the save succeeded. decrement_counter(counter_name, id) This method works just like the increment_counter(counter_name, id) method, but it decre- ments the counter instead. delete(id) This method deletes the database record with the given id but does not instantiate the object first. Therefore, the destroy method and any other callbacks are not triggered. If an array of IDs is provided, all of the records matching the IDs are deleted. 8474_chAppAFINAL.qxd 8/25/07 9:17 AM Page 218 218 APPENDIX ■ ACTIVE RECORD METHODS IN DETAIL delete_all(conditions = nil) This method deletes all of the database records that match the given conditions but does not instantiate the objects first. Therefore, the destroy method and any other callbacks are not triggered. The format of conditions is the same as those given to the find method. If no condi- tions are specified, all of the database records for this class will be removed. destroy(id) destroy removes the database record associated with the given primary key by first instantiat- ing the object and then calling the destroy method on the object. Therefore, when using this method, the destroy callbacks are triggered. If an array of IDs is provided, all of the records matching the IDs are destroyed. destroy_all(conditions = nil) Use this method to destroy all the database records that match the given conditions by first instantiating each object and then calling the destroy method. Therefore, when using this method, the destroy callbacks are triggered. The format of conditions is the same as those given to the find method. If no conditions are specified, all of the database records for this class will be destroyed. establish_connection(connection_specification = nil) This method is used to establish a connection to a database. It accepts a hash of connection parameters, where the :adapter key must be specified with the name of a valid database adapter: ActiveRecord::Base.establish_connection( :adapter => "mysql", :host => "localhost", :username => "project", :database => "project_development") exists?(id) exists? returns true if the specified id matches the primary key of a record in the database. find(*args) The find method can retrieve a record by its id, the first record matching a query, or all records matching a query. When retrieving records by id, the find method can take a single id, a list of ids, or an array of ids, as shown in the following examples: Account.find(1) Account.find(1, 2, 3) Account.find([1, 2, 3]) Return only the first matching record like this: Account.find(:first) 8474_chAppAFINAL.qxd 8/25/07 9:17 AM Page 219 APPENDIX ■ ACTIVE RECORD METHODS IN DETAIL 219 Return all matching records like this: Account.find(:all) All of these approaches to returning records take an optional hash as the final parameter. The valid options in this hash follow: :conditions: The :conditions options supplied to the find method will be converted into the WHERE clause of the SQL statement. You can pass a string or a hash of column names and values, or you can specify a more complex string of SQL along with values to interpo- late inside an Array. :order: The :order parameter defines the sorting order that would normally appear in the ORDER clause of the resulting SQL statement. When you specify the :order option, you are literally specifying a snippet of the SQL statement that will be sent to your database server. :group: The :group parameter defines the GROUP BY portion of the resulting SQL statement, and like the :order parameter, the string supplied will directly translate to the GROUP BY portion of the SQL statement. :limit: The :limit parameter takes an integer and directly corresponds to the LIMIT portion of the resulting SQL statement. :offset: The :offset parameter takes an integer and directly corresponds to the OFFSET portion of the resulting SQL statement. :include: The :include option is used to augment the FROM portion of the resulting SQL statement. The :include parameter will take a nested hash of symbols that correspond to the names of relationships you’ve defined for your model and add use them as joining conditions. :joins: While the :joins parameter is similar in function to the :include option, it works on a lower level in the resulting SQL statement. The value given to the :joins option is a string that will get added to the FROM clause of the SQL statement. You can use this to join on tables to which you don’t have a defined Active Record relationship. :from: Whereas the :joins option will let you specify extra tables to join to in the FROM clause, the :from option allows you to specify the entire contents of the FROM clause of the SQL statement. :select: You can use the :select option to specify extra columns in the SELECT clause of the resulting SQL statement. Any extra columns will be added as additional attributes on the returned objects, called piggyback attributes. However, because Active Record doesn’t know how to save these extra attributes, the objects it returns will automatically be marked as read only. :readonly: Specifying true for this parameter will mark the records returned from this find call as read only and prevent changes to the objects from being saved. Likewise, specifying false for this parameter will ensure that the records returned will not be marked as read only, regardless of whether they should (such as when the :select parameter is used). 8474_chAppAFINAL.qxd 8/25/07 9:17 AM Page 220 220 APPENDIX ■ ACTIVE RECORD METHODS IN DETAIL :lock: You can use the :lock option to have the database lock the selected rows.
Recommended publications
  • TECHNICAL STANDARDS a Standards Validation Committee of Industry Representatives and Educators Reviewed and Updated These Standards on December 11, 2017
    SOFTWARE AND APP DESIGN 15.1200.40 TECHNICAL STANDARDS A Standards Validation Committee of industry representatives and educators reviewed and updated these standards on December 11, 2017. Completion of the program prepares students to meet the requirements of one or more industry certification: Cybersecurity Fundamentals Certificate, Oracle Certified Associate, Java SE 8 Programmer, Certified Internet Web (CIW) - JavaScript Specialist, CompTIA A+, CompTIA IT Fundamentals, CSX Cybersecurity Fundamentals Certificate, and Microsoft Technology Associate (MTA). The Arizona Career and Technical Education Quality Commission, the validating entity for the Arizona Skills Standards Assessment System, endorsed these standards on January 25, 2018. Note: Arizona’s Professional Skills are taught as an integral part of the Software and App Design program. The Technical Skills Assessment for Software and App Design is available SY2020-2021. Note: In this document i.e. explains or clarifies the content and e.g. provides examples of the content that must be taught. STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS 1.1 Establish objectives and outcomes for a task 1.2 Explain the process of decomposing a large programming problem into smaller, more manageable procedures 1.3 Explain “visualizing” as a problem-solving technique prior to writing code 1.4 Describe problem-solving and troubleshooting strategies applicable to software development STANDARD 2.0 RECOGNIZE SECURITY ISSUES 2.1 Identify common computer threats (e.g., viruses, phishing,
    [Show full text]
  • User Guide for HCR Estimator 2.0: Software to Calculate Cost and Revenue Thresholds for Harvesting Small-Diameter Ponderosa Pine
    United States Department of Agriculture User Guide for HCR Forest Service Estimator 2.0: Software Pacific Northwest Research Station to Calculate Cost and General Technical Report PNW-GTR-748 Revenue Thresholds April 2008 for Harvesting Small- Diameter Ponderosa Pine Dennis R. Becker, Debra Larson, Eini C. Lowell, and Robert B. Rummer The Forest Service of the U.S. Department of Agriculture is dedicated to the principle of multiple use management of the Nation’s forest resources for sustained yields of wood, water, forage, wildlife, and recreation. Through forestry research, cooperation with the States and private forest owners, and management of the National Forests and National Grasslands, it strives—as directed by Congress—to provide increasingly greater service to a growing Nation. The U.S. Department of Agriculture (USDA) prohibits discrimination in all its programs and activities on the basis of race, color, national origin, age, disability, and where applicable, sex, marital status, familial status, parental status, religion, sexual orientation, genetic information, political beliefs, reprisal, or because all or part of an individual’s income is derived from any public assistance program. (Not all prohibited bases apply to all programs.) Persons with disabilities who require alternative means for communication of program information (Braille, large print, audiotape, etc.) should contact USDA’s TARGET Center at (202) 720-2600 (voice and TDD). To file a complaint of discrimination, write USDA, Director, Office of Civil Rights, 1400 Independence Avenue, SW, Washington, DC 20250-9410 or call (800) 795-3272 (voice) or (202) 720-6382 (TDD). USDA is an equal opportunity provider and employer. Authors Dennis R.
    [Show full text]
  • Ola Bini Computational Metalinguist [email protected] 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C
    JRuby For The Win Ola Bini computational metalinguist [email protected] http://olabini.com/blog 698E 2885 C1DE 74E3 2CD5 03AD 295C 7469 84AF 7F0C onsdag 12 juni 13 Logistics and Demographics onsdag 12 juni 13 LAST MINUTE DEMO onsdag 12 juni 13 JRuby Implementation of the Ruby language Java 1.6+ 1.8.7 and 1.9.3 compatible (experimental 2.0 support) Open Source Created 2001 Embraces testing Current version: 1.7.4 Support from EngineYard, RedHat & ThoughtWorks onsdag 12 juni 13 Why JRuby? Threading Unicode Performance Memory Explicit extension API and OO internals Libraries and legacy systems Politics onsdag 12 juni 13 InvokeDynamic onsdag 12 juni 13 JRuby Differences Most compatible alternative implementation Native threads vs Green threads No C extensions (well, some) No continuations No fork ObjectSpace disabled by default onsdag 12 juni 13 Simple JRuby onsdag 12 juni 13 Java integration Java types == Ruby types Call methods, construct instances Static generation of classes camelCase or snake_case .getFoo(), setFoo(v) becomes .foo and .foo = v Interfaces can be implemented Classes can be inherited from Implicit closure conversion Extra added features to Rubyfy Java onsdag 12 juni 13 Ant+Rake onsdag 12 juni 13 Clojure STM onsdag 12 juni 13 Web onsdag 12 juni 13 Rails onsdag 12 juni 13 Sinatra onsdag 12 juni 13 Trinidad onsdag 12 juni 13 Swing Swing API == large and complex Ruby magic simplifies most of the tricky bits Java is a very verbose language Ruby makes Swing fun (more fun at least) No consistent cross-platform GUI library for Ruby
    [Show full text]
  • Rubinius Rubini Us Rubini.Us Rubini.Us Rubini.Us Rubinius History and Design Goals
    Rubinius Rubini us Rubini.us rubini.us http:// rubini.us Rubinius http://godfat.org/slide/2008-12-21-rubinius.pdf History and Design Goals Architecture and Object Model History and Design Goals Architecture and Object Model Evan Phoenix February of 2006 RubySpec MSpec Engine Yard C VM Shotgun C VM Shotgun C++ VM CxxTest LLVM History and Design Goals Architecture and Object Model Reliable, Rock Solid Code Reliable, Rock Solid Code Full Test Coverage 健康 Clean, Readable Code Clean, Readable Code Little Lines in Each File Clean, Readable Code Macro, Code Generator, Rake Task Clean, Readable Code CMake Clean, Readable Code CMake Clean, Readable Code C++ Object to Ruby Object 1 to 1 Mapping 清新 健康 清新 Modern Techniques Modern Techniques Pluggable Garbage Collectors Modern Techniques Pluggable Garbage Collectors • Stop-and-Copy Modern Techniques Pluggable Garbage Collectors • Stop-and-Copy • Mark-and-Sweep Modern Techniques Optimizers Modern Techniques Git, Rake, LLVM Squeak the Smalltalk-80 Implementation Squeak Slang Squeak • Alan Kay • Dan Ingalls • Adele Goldberg Smalltalk Xerox PARC Smalltalk Object-Oriented (differ from Simula and C++) Smalltalk GUI Smalltalk MVC History and Design Goals Architecture and Object Model Real Machine C++ Virtual Machine Real Machine kernel/bootstrap C++ Virtual Machine Real Machine kernel/platform kernel/bootstrap C++ Virtual Machine Real Machine kernel/common kernel/platform kernel/bootstrap C++ Virtual Machine Real Machine kernel/delta kernel/common kernel/platform kernel/bootstrap C++ Virtual Machine Real
    [Show full text]
  • Ruby on Rails
    Ruby.learn{ |stuff| } ● What is Ruby? ● What features make it interesting to me (and maybe you)? ● A quick, idiosyncratic tour of the Ruby ecosphere. Tuesday Software Lunch Talk: March 4, 2008 What is it? ● a dynamic, object-oriented, open source programming language... ● with a uniquely (but not too uniquely), expressive syntax ● dynamically or “duck” typed ● influenced by Perl, Smalltalk, Eiffel, Ada and Lisp ● has aspects of functional and imperative programming styles History ● created by Yukihiro “Matz” Matsumoto on Feb 24 1993, released to public in 1995 ● “Ruby” coined in comparison to “Perl” Philosophy (the “Ruby Way”) ● emphasize programmer needs over computer needs ● encourage good design, good APIs ● Principle of Least Surprise (POLS) – the language should behave in such a way as to minimize confusion for experienced users ● “Everything should be a simple as possible, but no simpler.” - Einstein ● orthogonality ● change at runtime is not to be feared Interesting Stuff... ● Is Not a Ruby tutorial – http://tryruby.hobix.com/ – Programming Ruby: The Pragmatic Programmer's Guide – our just google it – you want something totally different? ● http://poignantguide.net/ruby/ ● Is what I find interesting/different/well done about Ruby. Everything's an Object ● no exceptions Falsiness ● only false and nil are falsey. Not 0. Symbols ● labels ● lightweight strings with no behaviour ● often used as hash keys Blocks ● another name for a Ruby block is a “closure” ● clo-sure [kloh-zher] – noun. A function that is evaluated in an environment containing one or more bound variables. Procs ● anonymous subroutines or closures with a life of their own Adding Methods to Classes ● You can add methods to an object at runtime in several ways..
    [Show full text]
  • Conflict Resolution Via Containerless Filesystem Virtualization
    Dependency Heaven: Conflict Resolution via Containerless Filesystem Virtualization Anonymous Author(s) Abstract previous installation, effectively preventing concurrent ver- Resolving dependency versioning conflicts in applications sions of that library from coexisting. The same is true for is a long-standing problem in software development and packages whose executable names does not change across deployment. Containers have become a popular way to ad- releases; unless the user renames the existing executable dress this problem, allowing programs to be distributed in a files prior to the installation of a new version it is notpos- portable fashion and to run them under strict security con- sible to keep both installations around. The problem with straints. Due to the popularity of this approach, its use has that approach is that it breaks package managers, as the re- started to extend beyond its original aim, with users often named files will not be featured in the package manager’s creating containers bundling entire Linux distributions to database and, consequently, will not be tracked anymore. run mundane executables, incurring hidden performance Further, unless executables depending on the renamed files and maintenance costs. This paper presents an alternative are modified to reflect their new path, users need todefine approach to the problem of versioning resolution applied to which executable to activate at a given time, usually through locally-installed applications, through a virtualization tool tricky management of symbolic
    [Show full text]
  • Jruby: Enterprise
    JRuby Enterprise 2.0 James Crisp Josh Price ThoughtWorks Agenda • What are Ruby and JRuby? • Benefits and Drawbacks • Where to use? • Demos • Case studies Ruby • Created by Yukihiro Matsumoto in 1993 • Open Source • Vibrant community • Dynamically typed • Pure OO • Syntactically flexible for DSLs • Advanced meta programming Ruby Runtimes • MRI Matz’s Ruby Interpreter in C (Ruby 1.8.6) • YARV Yet another Ruby VM (Ruby 1.9) • IronRuby .NET, DLR (alpha) • Rubinius Alternative VM • xRuby Compiler in Java • JRuby on the JVM Java platform Today’s Java Platform JRuby • Java implementation of Ruby • Open Source • Full time developers from Sun and ThoughtWorks • Charles Nutter, Thomas Enebo, Ola Bini et al • Allows Ruby to call Java code and vice versa Timeline • Started around 2001 by Jan Arne Petersen • JRuby 1.0 released in June 2007 • JRuby 1.1 RC2 just released • 1.1 release out soon Why JRuby? • Ruby / Rails productivity & tools • Java libraries and interoperability • Run on any OS / JVM / App server • Leverage existing infrastructure & ops skills • Politics – it's just a WAR JRuby advantages • Native vs Green Threading • World class garbage collection • Unicode • Runs the same on all platforms • JIT & AOT compilation JRuby disadvantages • Large memory footprint • Longer startup times • No native C extensions • Not technically complete Ruby Demo A Simple Ruby Class class RubyDemo < Demo def say_hello 5.times { puts “Hi from Ruby!” } end def greet(guests) guests.collect { |g| “Welcome #{g.name}” } end end >> RubyDemo.new.greet(josh, james)
    [Show full text]
  • Safety of High Speed Magnetic Levitation Transportation Systems, Titled, Review of German Safety Requirements for the Transrapid System
    PB91129684 Safety of High Speed U.S. Department Magnetic Levitation of Transportation Federal Railroad Transportation Systems Administration Office of Research and Development Preliminary Safety Review of Washington, DC 20590 Transrapid Maglev System Robert M. Dorer William T. Hathaway REPRODUCED BY U.S. DEPARTMENT OF COMMERCE NATIONAL TECHNICAL INFORMATION SERVICE SPRINGFIELD, VA 22161 NOTICE This document is disseminated under the sponsorship of the Department of Transportation in the interest of information exchange. The United States Government assumes no liability for its contents or use thereof. NOTICE The United States Government does not endorse products or manufacturers. Trade or manufacturers' names appear herein solely because they are considered essential to the object of this report. Technical Repart Dacumentation Poge 1. Report No. , ,.._··-·----• ,1.,,.,.•••ion No. 3. Recipient' 1 C•tolo9 No. DOT/FRA/ORD-90/09 PB91-129684 •• Title ond Subtitl• 5. Ret1ort Cate Safety of High Speed Magnetic Levitation November 1990 Transportation Systems: Preliminary Safety 6. Performing Orgoni 1ation Code Review of the Transrapid Maglev System DTS-73 B. P•rfonnint OrgOftitatfon R•port No. 7. Author1 a) DOT-VNTSC-FRA-90-3 Robert M. Dorer and William T. Hathaway 9. fi••&'"'"~t Oll'i"l:'zat;ae_ N~of!ld Addrosa t t. 10. Wark Un;t No. (TRAIS) . p men o ranspor a 1on RR193/Rl019 Research and Special Programs Administration l I. Contract or Grant No. John A. Volpe National Transportation Systems Center Cambridge, MA 02142 13. Type of Re,ort encl Period Co•ered 12. Sponsoring Agency Nome and Addre11 Interim Report U.S. Department of Transportation Sept.
    [Show full text]
  • Bundle Exec Rake Db Schema Load
    Bundle Exec Rake Db Schema Load Is Tracey always implacable and linty when bobtail some conchoids very tout and mosaically? Sortable Durward outcrops some geum after genial Delbert depolymerize east. Transcontinental Marv usually domiciliated some cabbagetown or outstared distractively. The gem for instance, when it admins to grant administrative priviledges to wait for virtual machines Connect and load the db too long as more details and enterprise solutions. Migrations run bundle exec rake db schema load reference data lake. Migrations lets you the first, of all of rails to guarantee referential integrity and easily. Note that you should write schema version, bundle exec rake db schema load this db without the bundle exec to really appreciate your rspec, this address on betydb rails application for discovering, so any error. Cron job scheduler for. We will now and rake task name changed a database! Commands commonly used to comment: you require our application in order specified, bundle exec rake db schema load schama for. Which you include a rake shines is an issue in my usual plugin, bundle exec rake db schema load schama for? Save my case on ci dependencies and schema over, bundle exec rake db schema load this db before running the bundle exec to work in the branch to slack or when i think i have. What caused only needed, just ran into an initial step that is run before connecting and security, and inaccessible from all js on. Share with a rake would better way you can be the bundle exec to create_join_table, bundle exec rake db schema load fixtures where that is to read the original changes later on.
    [Show full text]
  • Ruby on Rails Django
    glossarytech.com Ruby A Redis -backed library for creating background jobs, placing those jobs Resque on multiple queues, and processing them later. Active A Ruby library for working with Relational SQL Databases, like MySQL Record and Postgres . It provides an Object Relational Mapping . A security scanner. Checks Ruby on Rails applications for security Brakeman vulnerabilities. Looks at the source code of an application. Ensures Ruby applications run the same code on every machine. Tracks Bundler and installs the exact gems and versions that are needed. Remote server automation and deployment tool written in Ruby . Capistrano C apistrano automates the process of making a new version of an application available on one or more web servers. Automation library that provides a means for controlling a browser. Capybara S imulates scenarios for user stories and automates web application testing for behavior-driven software development. A dynamic, functional language designed for building scalable and maintainable applications. Leverages the Erlang VM, known for the Crystal r unning low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain. Embedded Ruby. A templating language that enables to embed Ruby ERB c ode in an HTML document, similar to ASP, JSP and PHP and other server-side scripting languages. Fast, simple event-processing library for Ruby programs. The most EventMachi p opular library for concurrent computing in the Ruby programming ne language. A software library for the Ruby . Provides factory methods to create test FactoryBot fixtures for automated software testing. REST -like API micro-framework for Ruby .
    [Show full text]
  • Intellectual Property Exclusion List.Pages
    Intellectual Property Exclusion List Last Updated:Apr 9, 2020 Groups Projects Unofficial Projects: enterprise geera rails I have 3+ pages of exercism hoe-git rake unreleased software minitest isolate rdoc that I’m not going to rdoc milton rubinius list. I will send you a SeaRbSg minitest-rails ruby directory listing upon seattlerb nasa.rb rubyforge request. sparklemotion nokogiri rubygems warningfree orphans RubyTests chef(*) phuby sicp All of these lists inspec(*) psrb transmogrify monotonically increase with time. (*) previous employers racc Official Projects: 99 github-interview minitest-server rubygems-bug workshops Algometer githubscore minitest-speed rubygems-checkcert workshop_markov_tex AlgometerX graph minitest-sprint rubygems-cleanroom t_generator asteroids graphics minitest-trump rubygems-sandbox x-common autotest graphics minitest-unordered rubygems-sing xracket autotest-rails heckle minitest_bench rubyholic xruby bastard_tetris hoe minitest_tu_shim RubyInline xrust battleship-rust hoe-git newri RubyInlineFortran yaccpuke benchmark-ips-racket hoe-seattlerb noms ruby_parser yoda bfts homebrew-mailman oedipus_lex ruby_parser ZenGraph box_layout hotel ograph ruby_parser-legacy ZenHacks braincandy icanhasaudio ohmygems ruby_to_c ZenLibrary brew-cook image_science omnifocus Satori zenprofile change_class imap_processor omnifocus-bugzilla schemers ZenTest check-sexp-equal Interpreters omnifocus-github scripts ZenWeb cocor lambda omnifocus-redmine seattlerailsbridge zenweb-template cover lambda.old omnifocus-rt seattlerb zero2rails
    [Show full text]
  • Ansible Documentation Release 1.7
    Ansible Documentation Release 1.7 Ansible July 14, 2014 CONTENTS i ii CHAPTER ONE ABOUT ANSIBLE Welcome to the Ansible documentation! Ansible is an IT automation tool. It can configure systems, deploy software, and orchestrate more advanced IT tasks such as continuous deployments or zero downtime rolling updates. Ansible’s goals are foremost those of simplicity and maximum ease of use. It also has a strong focus on security and reliability, featuring a minimum of moving parts, usage of OpenSSH for transport (with an accelerated socket mode and pull modes as alternatives), and a language that is designed around auditability by humans – even those not familiar with the program. We believe simplicity is relevant to all sizes of environments and design for busy users of all types – whether this means developers, sysadmins, release engineers, IT managers, and everywhere in between. Ansible is appropriate for managing small setups with a handful of instances as well as enterprise environments with many thousands. Ansible manages machines in an agentless manner. There is never a question of how to upgrade remote daemons or the problem of not being able to manage systems because daemons are uninstalled. As OpenSSH is one of the most peer reviewed open source components, the security exposure of using the tool is greatly reduced. Ansible is decentralized – it relies on your existing OS credentials to control access to remote machines; if needed it can easily connect with Kerberos, LDAP, and other centralized authentication management systems. This documentation covers the current released version of Ansible (1.5.3) and also some development version features (1.6).
    [Show full text]