Search Results

Search found 10455 results on 419 pages for 'ruby on rails 4'.

Page 236/419 | < Previous Page | 232 233 234 235 236 237 238 239 240 241 242 243  | Next Page >

  • Ruby - Is there a way to overwrite the __FILE__ variable?

    - by Markus Orrelly
    I'm doing some unit testing, and some of the code is checking to see if files exist based on the relative path of the currently-executing script by using the FILE variable. I'm doing something like this: if File.directory?(File.join(File.dirname(__FILE__),'..','..','directory')) blah blah blah ... else raise "Can't find directory" end I'm trying to find a way to make it fail in the unit tests without doing anything drastic. Being able to overwrite the __ FILE __ variable would be easiest, but as far as I can tell, it's impossible. Any tips?

    Read the article

  • In Ruby, is there are better way of selecting a constant (or avoiding the constant altogether) based

    - by Vertis
    Not sure the title fully describes the problem/question I'm trying to ask, sorry. I'm One of my fellow developers has created classes as such: class Widget attr_accessor :model_type ... end and: class ModelType MODEL1 = "model1" MODEL2 = "model2" MODEL3 = "model3" end Now he wants me to convert a retrieved string "MODEL1" to the constant. So that when he is referencing that model elsewhere he can use ModelType::MODEL1. Obviously I've got to convert from the string I'm being given with something like the following: case model_type when 'MODEL1' @model_type = ModelType::MODEL1 ... end I feel like this is clunky, so I'd like to know if there is a better DRYer way of providing this kind of functionality.

    Read the article

  • How would I rspec/test an updated_at field without using sleep() in ruby?

    - by Kamilski81
    How do i write my spec without using the sleep(1.second) method? When I remove the sleep then my tests break because they are returning the same time stamp? I have the following class method: def skip qs = find_or_create_by(user_id: user_id) qs.set_updated_at qs.n_skip += 1 qs.save! end and following spec: qs = skip(user.id) sleep(1.second) qs2 = skip(user.id) qs.should_not be_nil qs2.should_not be_nil (qs.updated_at < qs2.updated_at).should be_true

    Read the article

  • In Ruby, is there a better way of selecting a constant (or avoiding the constant altogether) based o

    - by Vertis
    Not sure the title fully describes the problem/question I'm trying to ask, sorry. One of my fellow developers has created classes as such: class Widget attr_accessor :model_type ... end and: class ModelType MODEL1 = "model1" MODEL2 = "model2" MODEL3 = "model3" end Now he wants me to convert a retrieved string "MODEL1" to the constant. So that when he is referencing that model elsewhere he can use ModelType::MODEL1. Obviously I've got to convert from the string I'm being given with something like the following: case model_type when 'MODEL1' @model_type = ModelType::MODEL1 ... end I feel like this is clunky, so I'd like to know if there is a better DRYer way of providing this kind of functionality.

    Read the article

  • Is Ruby on Rails suitable for a non-web application?

    - by Bruce
    I am interested in developing a workstation-based application that communicates with a proprietary data server and that presents information from that server to the user. I am not intending the user interface to be browser-based, and have been considering Qt as my framework. Should I consider RoR for this? Thanks.

    Read the article

  • Given an array of arguments, how do I send those arguments to a particular function in Ruby?

    - by Steven Xu
    Forgive the beginner question, but say I have an array: a = [1,2,3] And a function somewhere; let's say it's an instance function: class Ilike def turtles(*args) puts args.inspect end end How do I invoke Ilike.turtles with a as if I were calling (Ilike.new).turtles(1,2,3). I'm familiar with send, but this doesn't seem to translate an array into an argument list. A parallel of what I'm looking for is the Javascript apply, which is equivalent to call but converts the array into an argument list.

    Read the article

  • How to disconnect an existing ruby sequel connection to a database?

    - by MG
    I mean the one which was previously established as DB = Sequel.sqlite('my_blog.db') or DB = Sequel.connect('postgres://user:password@localhost/my_db') or DB = Sequel.postgres('my_db', :user => 'user', :password => 'password', :host => 'localhost') or etcetera. The Sequel::Database class has no public instance method called "disconnect" or so though it has "connect" one. Maybe somebody already faced that problem. I would appreciate any idea.

    Read the article

  • How do I achieve virtual attributes in CakePHP (using code, not SQL) as implemented in Ruby on Rails

    - by ash
    Source: http://asciicasts.com/episodes/16-virtual-attributes I'd like to achieve a similar setup as below, but in CakePHP and where the virtual attributes are created using code, not SQL (as documented at http://book.cakephp.org/view/1070/Additional-Methods-and-Properties#Using-virtualFields-1590). class User < ActiveRecord::Base # Getter def full_name [first_name, last_name].join(' ') end # Setter def full_name=(name) split = name.split(' ', 2) self.first_name = split.first self.last_name = split.last end end

    Read the article

  • Multi level menu, active links css highlight. (Ruby on Rails)

    - by klamath
    Site structure: / /products /products/design /products/photo /about I want to see parent menu item also highlighted by CSS, when child is active. (When 'design' or 'photo' is active 'products' should be highlighted too.) I'm using this for child and simple urls: <li class="<%= current_page?(:action => 'design') %>"> <%= link_to_unless_current 'Design', :design %> </li> For 'products' checking should be like: <%= current_page?(:action => 'products') || current_page?(:action => 'design') %> || current_page?(:action => 'photo') %> But triple || is not right, and it's become complicated. I saw a helper, like this one: def current(childs) if current_page?(:action => childs) @container = "active" else @container = "inactive" end end Which is used by: <%= current(:photo) %> So, how to put all my 3 checks for 'products', 'design', 'photo' in one helper? And make possible to use something like <%= current(:products, :design, :photo) %>

    Read the article

  • Is there a way to set the value of $? in a mock in Ruby?

    - by rleber
    I am testing some scripts that interface with system commands. Their logic depends on the return code of the system commands, i.e. the value of $?. So, as a simplified example, the script might say: def foo(command) output=`#{command}` if $?==0 'succeeded' else 'failed' end end In order to be able to test these methods properly, I would like to be able to stub out the Kernel backquote call, and set $? to an arbitrary value, to see if I get appropriate behavior from the logic in the method after the backquote call. I can't figure out a way to do this. (In case it matters, I'm testing using Test::Unit and Mocha.)

    Read the article

  • Is there a way to pass a regex capture to a block in Ruby?

    - by Gordon Fontenot
    I have a hash with a regex for the key and a block for the value. Something like the following: { 'test (.+?)' => { puts $1 } } Not exactly like that, obviously, since the block is being stored as a Proc, but that's the idea. I then have a regex match later on that looks a lot like this hash.each do |pattern, action| if /#{pattern}/i.match(string) action.call end end The idea was to store the block away in the hash to make it a bit easier for me to expand upon in the future, but now the regex capture doesn't get passed to the block. Is there a way to do this cleanly that would support any number of captures I put in the regex (as in, some regex patterns may have 1 capture, others may have 3)?

    Read the article

  • How do I defer execution of some Ruby code until later and run it on demand in this scenario?

    - by Kyle Kaitan
    I've got some code that looks like the following. First, there's a simple Parser class for parsing command-line arguments with options. class Parser def initialize(&b); ...; end # Create new parser. def parse(args = ARGV); ...; end # Consume command-line args. def opt(...); ...; end # Declare supported option. def die(...); ...; end # Validation handler. end Then I have my own Parsers module which holds some metadata about parsers that I want to track. module Parsers ParserMap = {} def self.make_parser(kind, desc, &b) b ||= lambda {} module_eval { ParserMap[kind] = {:desc => "", :validation => lambda {} } ParserMap[kind][:desc] = desc # Create new parser identified by `<Kind>Parser`. Making a Parser is very # expensive, so we defer its creation until it's actually needed later # by wrapping it in a lambda and calling it when we actually need it. const_set(name_for_parser(kind), lambda { Parser.new(&b) }) } end # ... end Now when you want to add a new parser, you can call make_parser like so: make_parser :db, "login to database" do # Options that this parser knows how to parse. opt :verbose, "be verbose with output messages" opt :uid, "user id" opt :pwd, "password" end Cool. But there's a problem. We want to optionally associate validation with each parser, so that we can write something like: validation = lambda { |parser, opts| parser.die unless opts[:uid] && opts[:pwd] # Must provide login. } The interface contract with Parser says that we can't do any validation until after Parser#parse has been called. So, we want to do the following: Associate an optional block with every Parser we make with make_parser. We also want to be able to run this block, ideally as a new method called Parser#validate. But any on-demand method is equally suitable. How do we do that?

    Read the article

  • Is it possible to deploy a Ruby app on a plain clean Passenger setup?

    - by Folletto
    I'm thinking to something really similar on what you can do with mod_php: drop an application in some way inside Apache and making it run with Passenger, without adding anything inside httpd.conf (no vhost, nothing except the basic Passenger configuration). It's something very similar to Wordpress or many other frameworks: just unzip/svn checkout it inside a folder and run it. I know that it's possible with CGI and FCGI, but I'm wondering if it's also possible to tap in the speed of Passenger. I've tried fiddling with the Rack instructions on the official website trying to find a specific .htaccess and config.ru configuration, but nothing so far. I know it's not common, but... is it even possible?

    Read the article

  • Methods specific only to an instance? What are they called in Ruby?

    - by daremarkovic
    I know there are "instance methods", "class methods" but what are these types of methods called, for eg: s1 = "This is my STRING!" def s1.m1 downcase end p s1 # => "This is my STRING!" p s1.m1 # => "this is my string!" What type of method is the "m1" method called on the s1 "instance" of the "string" class? It's really weird because I didn't know this was possible at all if I try: s2 = "This is ANOTHER string" s2.m1 # => Won't work! Which kind of makes sense, but not sure why defining methods like m1 on instances on a class are useful at all.

    Read the article

  • In Ruby, how do I make a hash from an array?

    - by Wizzlewott
    I have a simple array: arr = ["apples", "bananas", "coconuts", "watermelons"] I also have a function f that will perform an operation on a single string input and return a value. This operation is very expensive, so I would like to memoize the results in the hash. I know I can make the desired hash with something like this: h = {} arr.each { |a| h[a] = f(a) } What I'd like to do is not have to initialize h, so that I can just write something like this: h = arr.(???) { |a| a => f(a) } Can that be done?

    Read the article

< Previous Page | 232 233 234 235 236 237 238 239 240 241 242 243  | Next Page >