CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Wed, 06 Aug 2025 15:44:40 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090423131306
location: https://web.archive.org/web/20090423131306/https://github.com/carlosbrando/remarkable/tree
server-timing: captures_list;dur=0.714149, exclusion.robots;dur=0.024563, exclusion.robots.policy;dur=0.011720, esindex;dur=0.011472, cdx.remote;dur=61.265744, LoadShardBlock;dur=1051.603602, PetaboxLoader3.resolve;dur=729.137834, PetaboxLoader3.datanode;dur=263.672248
x-app-server: wwwb-app223
x-ts: 302
x-tr: 1161
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app223; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Wed, 06 Aug 2025 15:44:41 GMT
content-type: text/html; charset=utf-8
content-length: 119
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Thu, 23 Apr 2009 13:13:06 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090423131306/https://github.com/carlosbrando/remarkable/tree/master
x-archive-orig-x-runtime: 26ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 119
cache-control: max-age=1800
memento-datetime: Thu, 23 Apr 2009 13:13:06 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Mon, 22 Dec 2008 03:54:03 GMT", ; rel="prev memento"; datetime="Wed, 25 Feb 2009 06:09:55 GMT", ; rel="memento"; datetime="Thu, 23 Apr 2009 13:13:06 GMT", ; rel="next memento"; datetime="Tue, 28 Apr 2009 00:48:00 GMT", ; rel="last memento"; datetime="Sat, 19 Dec 2015 18:59:37 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090423112132_crawl100-c/52_9_20090423130708_crawl101.arc.gz
server-timing: captures_list;dur=0.483703, exclusion.robots;dur=0.020841, exclusion.robots.policy;dur=0.010155, esindex;dur=0.010705, cdx.remote;dur=68.870483, LoadShardBlock;dur=444.955675, PetaboxLoader3.datanode;dur=118.895190, PetaboxLoader3.resolve;dur=557.208419, load_resource;dur=464.937579
x-app-server: wwwb-app223
x-ts: 301
x-tr: 1007
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Wed, 06 Aug 2025 15:44:45 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Thu, 23 Apr 2009 13:13:06 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 367ms
x-archive-orig-etag: "4fe69bfabf57f7c2ae50a7cf2fa392ff"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 26350
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Thu, 23 Apr 2009 13:13:06 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 21 Dec 2008 05:27:41 GMT", ; rel="prev memento"; datetime="Thu, 02 Apr 2009 20:08:21 GMT", ; rel="memento"; datetime="Thu, 23 Apr 2009 13:13:06 GMT", ; rel="next memento"; datetime="Tue, 28 Apr 2009 00:48:00 GMT", ; rel="last memento"; datetime="Wed, 31 May 2023 18:11:38 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090423112132_crawl100-c/52_9_20090423130708_crawl101.arc.gz
server-timing: captures_list;dur=0.519514, exclusion.robots;dur=0.020256, exclusion.robots.policy;dur=0.010960, esindex;dur=0.010721, cdx.remote;dur=63.206896, LoadShardBlock;dur=1718.409682, PetaboxLoader3.resolve;dur=2384.727970, PetaboxLoader3.datanode;dur=427.505307, load_resource;dur=1202.791728
x-app-server: wwwb-app223
x-ts: 200
x-tr: 3038
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
carlosbrando's remarkable at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

No gems have been built for this project yet.
Description: | Simplifying tests! |
Homepage: | https://www.nomedojogo.com/2008/11/18/shoulda-for-rspec-is-remarkable/ |
Clone URL: |
git://github.com/carlosbrando/remarkable.git
Give this clone URL to anyone.
git clone git://github.com/carlosbrando/remarkable.git
|
name | age | message | |
---|---|---|---|
![]() |
.gitignore | Thu Mar 12 06:25:08 -0700 2009 | Using unit test for ActiveRecord matchers (fast... [josevalim] |
![]() |
LICENSE | Thu Mar 26 03:09:11 -0700 2009 | Updated license. [josevalim] |
![]() |
README | Mon Apr 20 03:30:24 -0700 2009 | Updated documentation to reflect on the new opt... [josevalim] |
![]() |
Rakefile | Mon Apr 13 02:52:19 -0700 2009 | Show version when releasing files. [josevalim] |
![]() |
rake_helpers.rb | Mon Apr 20 01:20:20 -0700 2009 | Make :through associations look for the through... [josevalim] |
![]() |
remarkable/ | Tue Apr 21 23:42:07 -0700 2009 | Fix a stupid bug and bump tiny to release 3.0.7 [josevalim] |
![]() |
remarkable_activerecord/ | Wed Apr 22 22:30:27 -0700 2009 | Adding more documentation to Remarkable ActiveR... [josevalim] |
![]() |
remarkable_i18n/ | Mon Apr 20 03:26:20 -0700 2009 | Added support to :select, :conditions, :include... [josevalim] |
![]() |
remarkable_rails/ | Wed Apr 22 01:47:31 -0700 2009 | Ensure set_cookies and set_session work with ar... [josevalim] |
= Remarkable 3.0 You can read this file nicely formatted at the Rubyforge project page: https://remarkable.rubyforge.org/ == Description Remarkable is a framework for rspec matchers that supports macros and I18n. It's constituted of three pieces: * Remarkable: the framework with helpers, DSL, I18n and rspec features; * Remarkable ActiveRecord: a collection of matchers for ActiveRecord. It supports all ActiveRecord validations, associations and some extra matchers. * Remarkable Rails: a collection of matchers for ActionController. It also includes MacroStubs, which is a clean DSL for stubbing your controller methods. In each folder above, you can find a README more detailed description of each piece. == Why use Remarkable for Rails? * The only one with matchers for all ActiveRecord validations, with support to all options (except :on and the option :with in validates_format_of); * Matchers for all ActiveRecord associations. The only one which supports all these options: :through, :source, :source_type, :class_name, :foreign_key, :dependent, :join_table, :uniq, :readonly, :validate, :autosave, :counter_cache, :polymorphic Plus SQL options: :select, :conditions, :include, :group, :having, :order, :limit, :offset Besides in Remarkable 3.0 matchers became much smarter. Whenever :join_table or :through is given as option, it checks if the given table exists. Whenever :foreign_key or :counter_cache is given, it checks if the given column exists; * ActionController matchers: :assign_to, :filter_params, :redirect_to, :render_with_layout, :respond_with, :render_template, :route, :set_session and :set_the_flash; * Macro stubs: make your controllers specs easier to main, more readable and DRY; * Tests and more tests. We have a huge tests suite ready to run and tested in Rails 2.1.2, 2.2.2 and 2.3.2; * I18n and great documentation. Remarkable Rails requires rspec >= 1.2.0 and rspec-rails >= 1.2.0. == Install on Rails Install the gem: sudo gem install remarkable_rails This will install remarkable, remarkable_activerecord and remarkable_rails gems. Inside Rails you need to require just this gem. If you are using ActiveRecord, it will automatically require the remarkable_activerecord gem. == Rails 2.3 In Rails 2.3, in order to rspec load properly, you have to use this configuration on your config/environments/test.rb config.gem "rspec", :lib => false config.gem "rspec-rails", :lib => false config.gem "remarkable_rails", :lib => false And then require remarkable inside your spec_helper.rb, after "spec/rails": require 'spec/rails' require 'remarkable_rails' This is the safest way to avoid conflicts. Users who are upgrading to Remarkable 3.0, should not find any problem if their tests are running without deprecation warnings. == Developers If you are developing matchers, for example hpricot matchers, you need to install only the remarkable "core" gem: sudo gem install remarkable If you stumble into any problem or have doubts while building your matchers, please drop us a line. We are currently searching for people who wants to join us and provide matchers for Datamapper, Sequel, Sinatra and all other possible options. :) == Browse the documentation Remarkable: https://remarkable.rubyforge.org/core/ Remarkable ActiveRecord: https://remarkable.rubyforge.org/activerecord/ https://remarkable.rubyforge.org/activerecord/classes/Remarkable/ActiveRecord/Matchers.html Remarkable Rails: https://remarkable.rubyforge.org/rails/ https://remarkable.rubyforge.org/rails/classes/Remarkable/ActionController/Matchers.html == More information Google group: https://groups.google.com/group/remarkable-core Bug tracking: https://carlosbrando.lighthouseapp.com/projects/19775-remarkable/overview == LICENSE All projects are under MIT LICENSE.
This feature is coming soon. Sit tight!