Search Results

Search found 9829 results on 394 pages for 'ruby koans'.

Page 75/394 | < Previous Page | 71 72 73 74 75 76 77 78 79 80 81 82  | Next Page >

  • How to sum properties of the objects within an array in Ruby

    - by Ernst Fitschen
    I understand that in order to sum array elements in Ruby one can use the inject method, i.e. array = [1,2,3,4,5]; puts array.inject(0, &:+) But how do I sum the properties of objects within an object array e.g. There's an array of objects and each object has a property "cash" for example. So I want to sum their cash balances into one total. Something like... array.cash.inject(0, &:+) (but this doesn't work) I realise I could probably make a new array composed only of the property cash and sum this, but I'm looking for a cleaner method if possible!

    Read the article

  • Ruby on Rails and database associations

    - by Marco
    Hi to all, I'm new to the Ruby world, and there is something unclear to me in defining associations between models. The question is: where is the association saved? For example, if i create a Customer model by executing: generate model Customer name:string age:integer and then i create an Order model generate model Order description:text quantity:integer and then i set the association in the following way: class Customer < ActiveRecord::Base has_many :orders end class Order < ActiveRecord::Base belongs_to :customer end I think here is missing something, for example the foreign key between the two entities. How does it handle the associations created with the keywords "has_many" and "belongs_to" ? Thanks

    Read the article

  • Ruby on Rails - Send JavaScript to view

    - by Eef
    Hey, I am creating a website in Ruby on Rails. I have a controller action that renders a view like so: def show time_left = Time.now.to_i - 3.hours.to_i @character = current_user.characters.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @character } end end This is fine as it renders the show.html.erb as I like. I would like however to somehow pass time_left to the view as a Javascript variable as this value is use by a countdown JQuery plugin. I could put a javascript block on the page in the HTML and print a instance variable out like so: <script type="javascript"> $('#countdown').countdown('<%= @time_left =>')</script> But I would like to keep all my JS in a external file and off the page could anyone give some advice on how to implement this? Cheers Eef

    Read the article

  • how can multiple trailing slashes can be removed from an url in Ruby

    - by splintercell
    Hello, What i'm trying to achieve here is lets say we have two example urls: url1 "http://emy.dod.com/kaskaa/dkaiad/amaa//////////" & url2 = "http://www.example.com/". How can I extract the striped down urls? url1 : "http://emy.dod.com/kaskaa/dkaiad/amaa" & url2 to "http://http://www.example.com"? URI.parse in ruby sanitizes certain type of malformed url but is ineffective in this case. If we use regex then /^(.*)\/$/ removes a single slash (/) from url1 & is ineffective for url2. Is anybody aware of how to handle this type of url parsing? The point here is I dont want my system to have "http://www.example.com/" & "http://www.example.com" being treated as two different urls. And same goes for "http://emy.dod.com/kaskaa/dkaiad/amaa////" & "http://emy.dod.com/kaskaa/dkaiad/amaa/" cheers, -dg

    Read the article

  • Interacting With Class Objects in Ruby

    - by michaelmichael
    How can I interact with objects I've created based on their given attributes in Ruby? To give some context, I'm parsing a text file that might have several hundred entries like the following: ASIN: B00137RNIQ -------------------------Status Info------------------------- Upload created: 2010-04-09 09:33:45 Upload state: Imported Upload state id: 3 I can parse the above with regular expressions and use the data to create new objects in a "Product" class: class Product attr_reader :asin, :creation_date, :upload_state, :upload_state_id def initialize(asin, creation_date, upload_state, upload_state_id) @asin = asin @creation_date = creation_date @upload_state = upload_state @upload_state_id = upload_state_id end end After parsing, the raw text from above will be stored in an object that look like this: [#<Product:0x00000101006ef8 @asin="B00137RNIQ", @creation_date="2010-04-09 09:33:45 ", @upload_state="Imported ", @upload_state_id="3">] How can I then interact with the newly created class objects? For example, how might I pull all the creation dates for objects with an upload_state_id of 3? I get the feeling I'm going to have to write class methods, but I'm a bit stuck on where to start.

    Read the article

  • Iterate set covered by cross-product of ranges in ruby

    - by wilsona
    I figured this answer had been asked before, so I searched, but I couldn't find anything. Granted, there are a ton of Ruby Array questions, so it might be there, just buried. In any case, I'm trying to reduce a cross-product of ranges, returning a sum of all elements of the cross-product that meet some set of conditions. To construct a trivial example, if I have an array like this: [0..1,0..1,0..1] I'd like to iterate over this set: [ [0,0,0], [0,0,1], [0,1,0], [0,1,1], [1,0,0], [1,0,1], [1,1,0], [1,1,1] ] and return a sum based the condition "return 1 if i[0] == 1 and i[2] == 0" (which would give 2). In my contrived example, I could do it like this: br = 0..1 br.reduce(0){|sumx, x| sumx + br.reduce(0){|sumy, y| sumy + br.reduce(0){|sumz, z| sumz + (x == 1 and z == 0 ? 1 : 0) } } } , but in the actual application, the set of ranges might be much larger, and nesting reduces that way would get quite ugly. Is there a better way?

    Read the article

  • Process for beginning a Ruby on Rails project

    - by Daniel Beardsley
    I'm about to begin a Ruby on Rails project and I'd love to hear how others go through the process of starting an application design. I have quite a bit of experience with RoR, but don't have that many starting from scratch with only a vision experiences and would appreciate the wisdom of others who've been there. I'm looking for an order of events, reasons for the order, and maybe why each part is important. I can think of a few starting points, but I'm not sure where it's best to begin Model design and relationships (entities, how they relate, and their attributes) Think of user use-cases (or story-boards) and implement the minimum to get these done Create Model unit-tests then create the necessary migrations and AR models to get the tests to pass Hack out the most basic version of the simplest part of your application and go from there Start with a template for a rails app (like http://github.com/thoughtbot/suspenders) Do the boring gruntwork first (User auth, session management, ...) ...

    Read the article

  • Avoiding class_eval in Ruby metaprogramming

    - by Peter
    I want to have a return_empty_set class method in Ruby, similar to the attr_reader methods. My proposed implementation is class Class def return_empty_set *list list.each do |x| class_eval "def #{x}; Set.new; end" end end end and example usage: class Foo return_empty_set :one end Foo.new.one # returns #<Set: {}> but resorting to a string seems like quite a hack. Is there a cleaner or better way to write this, perhaps avoiding class_eval? Or is this the best way to go?

    Read the article

  • How to create list of numbers and append its reverse to it efficiently in Ruby

    - by Kiwi
    Given a minimum integer and maximum integer, I want to create an array which counts from the minimum to the maximum by two, then back down (again by two, repeating the maximum number). For example, if the minimum number is 1 and the maximum is 9, I want [1, 3, 5, 7, 9, 9, 7, 5, 3, 1]. I'm trying to be as concise as possible, which is why I'm using one-liners. In Python, I would do this: range(1, 10, 2) + range(9, 0, -2) In Ruby, which I'm just beginning to learn, all I've come up with so far is: (1..9).inject([]) { |r, num| num%2 == 1 ? r << num : r }.reverse.inject([]) { |r, num| r.unshift(num).push(num) } Which works, but I know there must be a better way. What is it?

    Read the article

  • Modifying a MySQL database on a Ruby on Rails install

    - by James W
    Hello, sorry if this questions is overly basic or has been asked before but I simply cannot figure it out. On my Ruby on Rails site, I have a controller that accesses the fields of a table in my database and displays their "Name" field as a drop-down menu in one of my views. My problem is I need to change the options of that dropdown menu so I need a way to get into the MySQL database and change the values of those fields. Anyone know of a way to do this? It would be much appreciated. Thank you.

    Read the article

  • Remove adjacent identical elements in a Ruby Array?

    - by Mike Woodhouse
    Ruby 1.8.6 I have an array containing numerical values. I want to reduce it such that sequences of the same value are reduced to a single instance of that value. So I want a = [1, 1, 1, 2, 2, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3] to reduce to [1, 2, 3, 2, 3] As you can see, Array#uniq won't work in this case. I have the following, which works: (a.size - 1).downto(1) { |i| a[i] = nil if a[i - 1] == a[i] } Can anyone come up with something less ugly?

    Read the article

  • Adjust Title Helper in Ruby on Rails Tutorial 3.2 to deal with & properly

    - by memoht
    I am using the title helper from the 3.2 edition of the Ruby on Rails Tutorial by Michael Hartl and just realized a snag with the & character showing up in the title as &Amp instead. The relevant snippet of code is here Official Sample App 2nd Edition The problem. I have a School model and am using the School name on the Show view as follows: <% provide(:title, @school.name) %> If my School has a & in the name, it is being replaced with &Amp in the browser title. Ryan Bates Railscasts site has a similiar title helper that solves this issue this way but it is using content_for instead of provide. Trying to adjust the Rails Tutorial helper, but having trouble getting it work properly. Works great expect for this issue.

    Read the article

  • Ruby gems in lib - spare tire principle

    - by fregas
    Hi, I'm working on a console ruby application (not rails!) I will be installing this application on several machines. I was wondering if there is a way i can build it so i dont have to install the games i'm using for the app on each machine. I'd like to be able to just copy the directory to each machine and run it. Ideally, i'd like to put the gems in the lib folder or something and reference them from there, so i don't have to even install them on my dev machine. Is there a way to do this? In .net, we call this the "spare tire" principle. thanks, Craig

    Read the article

  • Merge a hash with the key/values of a string in ruby

    - by LazyJason
    Hi there, I'm trying to merge a hash with the key/values of string in ruby. i.e. h = {:day => 4, :month => 8, :year => 2010} s = "/my/crazy/url/:day/:month/:year" puts s.interpolate(h) All I've found is to iterate the keys and replace the values. But I'm not sure if there's a better way doing this? :) class String  def interpolate(e)    self if e.each{|k, v| self.gsub!(":#{k}", "#{v}")}  end end Thanks

    Read the article

  • How to handle this type of model validation in Ruby on Rails

    - by randombits
    I have a controller/model hypothetically named Pets. Pets has the following declarations: :belongs_to owner :has_many dogs :has_many cats Not the best example, but again, it demonstrates what I'm trying to solve. Now when a request comes in as an HTTP POST to http://127.0.0.1/pets, I want to create an instance of Pets. The restriction here is, if the user doesn't submit at least one dog or one cat, it should fail validation. It can have both, but it can't be missing both. How does one handle this in Ruby on Rails? Dogs don't care if cats exists and the inverse is also true. Can anyone show some example code of what the Pets model would look like to ensure that one or the other exists, or fail otherwise? errors.add also takes an attribute, in this case, there is no particular attribute that's failing. It's almost a 'virtual' combination that's missing.

    Read the article

  • Help with Regex statement in Ruby

    - by user336777
    I have a string called 'raw'. I am trying to parse it in ruby in the following way: raw = "HbA1C ranging 8.0—10.0%" raw.scan /\d*.?\d+[ ](-+|\342\200\224)[ ]\d*.?\d+/ The output from the above is []. I think it should be: ["8.0—10.0"]. Does anyone have any insight into what is wrong with the above regex statement? Note: \342\200\224 is equal to '—'. The piece that is not working is: (-+|\342\200\224) I think it should be equivalent to saying, match on 1 or more '-' OR match on the string \342\200\224. Any help would be greatly appreciated it!

    Read the article

  • Simple Serialization Faster Than JSON? (in Ruby)

    - by Sinan Taifour
    I have an application written in ruby (that runs in the JRuby VM). When profiling it, I realized that it spends a lot (actually almost all of) its time converting some hashes into JSON. These hashes have keys of symbols, values of other similar hashes, arrays, strings, and numbers. Is there a serialization method that is suitable for such an input, and would typically run faster than JSON? It would preferable if it is has a Java or JRuby-compatible gem, too. I am currently using the jruby-json gem, which is the fastest JSON implementation in JRuby (as I am told), so the move will most likely be to a different serialization method rather than just a different library. Any help is appreciated! Thanks.

    Read the article

  • Sinatra Set Settings (Ruby)

    - by JP
    Using Sinatra in Ruby you can set the server's settings by doing: set :myvariable, "MyValue" and then access it anywhere in templates etc with settings.myvariable. In my script I need to be able to re-set these variables falling back to a bunch of defaults. I figured the easiest way to do this would be to have a function that performs all the sets calling it at the start of the Sinatra server and when I need to make the alterations: class MyApp < Sinatra::Application helpers do def set_settings s = settings_from_yaml() set :myvariable, s['MyVariable'] || "default" end end # Here I would expect to be able to do: set_settings() # But the function isn't found! get '/my_path' do if things_go_right set_settings end end # Etc end As explained in the code above, the set_settings function isn't found, am I going about this the wrong way?

    Read the article

  • Ruby: Read large data from stdout and stderr of an external process on Windows

    - by BinaryMuse
    Greetings, all, I need to run a potentially long-running process from Ruby on Windows and subsequently capture and parse the data from the external process's standard output and error. A large amount of data can be sent to each, but I am only necessarily interested in one line at a time (not capturing and storing the whole of the output). After a bit of research, I found that the Open3 class would take care of executing the process and giving me IO objects connected to the process's standard output and error (via popen3). Open3.popen3("external-program.bat") do |stdin, out, err, thread| # Step3.profit() ? end However, I'm not sure how to continually read from both streams without blocking the program. Since calling IO#readlines on out or err when a lot of data has been sent results in a memory allocation error, I'm trying to continuously check both streams for available input, but not having much luck with any of my implementations. Thanks in advance for any advice!

    Read the article

  • Problems with Ruby "||" "or"?

    - by Kevin
    Beginning Ruby Question: I'm trying to see if a string variable's contents is either "personal" "email" or "password". I'm trying: if params[:action] == "password" || "email" || "personal" foo else don't foo end But that doesn't work and returns strange results, and using IRB to play around with "or" statements I have no idea why the following happens: irb(main):040:0> a = "email" => "email" irb(main):041:0> a == "password" || "email" => "email" irb(main):042:0> a == "email" || "password" => true I just want something that if any of the 3 variables are true no matter what order they are in it returns true, if not it returns false. Anyone want to help this n00b out?

    Read the article

  • How to implement an abstract class in ruby?

    - by Chirantan
    I know there is no concept of abstract class in ruby. But if at all it needs to be implemented, how to go about it? I tried something like... class A def self.new raise 'Doh! You are trying to instantiate an abstract class!' end end class B < A ... ... end But when I try to instantiate B, it is internally going to call A.new which is going to raise the exception. Also, modules cannot be instantiated but they cannot be inherited too. making the new method private will also not work. Any pointers?

    Read the article

  • Show surrounding words when searching for a specific word in a text file (Ruby)

    - by Ezra
    Hi, I'm very new to ruby. I'm trying to search for any instance of a word in a text file (not the problem). Then when the word is discovered, it would show the surrounding text (maybe 3-4 words before and after the target word, instead of the whole line), output to a list of instances and continue searching. Example "The quick brown fox jumped over the lazy dog." Search word = "jumped" Output = "...brown fox jumped over the..." Any help is appreciated. Thanks! Ezra def word_exists_in_file f = File.open("test.txt") f.each do line print line if line.match /someword/ return true end end false end

    Read the article

  • Cannot start jboss remotely in ruby (Net::SSH)

    - by Jared
    I am trying to start/stop jboss remotely with ruby Net::SSH library. I am able to stop jboss with the following code: require 'net/ssh' Net::SSH.start('xx.xx.xx.xx', 'jboss', :password => "jboss") do |session| session.open_channel do |channel| channel.request_pty(:term => 'xterm') do |ch, success| raise "could not request pty!" unless success channel.exec "/etc/init.d/jboss_new stop\n" end puts "shell opened" channel.on_data do |channel, data| puts data sleep 1 if data =~ /Password: / sleep 2 channel.send_data("jboss\n") end end end end But when I substitute stop with start I get nothing in return, jboss is not started. I changed password to invalid and get a response su: Authentication failure Is there any gimmick here? Can you please advise what is wrong?

    Read the article

  • Looping differences in Ruby using Range vs. Times

    - by jbjuly
    I'm trying to solve a Project Euler problem using Ruby, I used 4 different looping methods, the for-loop, times, range and upto method, however the for-loop and times method only produces the expected answer, while the range and upto method does not. I'm assuming that they are somewhat the same, but I found out it's not. Can someone please explain the differences between these methods? Here's the looping structure I used # for-loop method for n in 0..1 puts n end 0 1 => 0..1 # times method 2.times do |n| puts n end 0 1 => 2 # range method (0..1).each do |n| puts n end 0 1 => 0..1 # upto method 0.upto(1) do |n| puts n end 0 1 => 0

    Read the article

  • Ruby - Passing Blocks To Methods

    - by Chris Bunch
    I'm trying to do Ruby password input with the Highline gem and since I have the user input the password twice, I'd like to eliminate the duplication on the blocks I'm passing in. For example, a simple version of what I'm doing right now is: new_pass = ask("Enter your new password: ") { |prompt| prompt.echo = false } verify_pass = ask("Enter again to verify: ") { |prompt| prompt.echo = false } And what I'd like to change it to is something like this: foo = Proc.new { |prompt| prompt.echo = false } new_pass = ask("Enter your new password: ") foo verify_pass = ask("Enter again to verify: ") foo Which unfortunately doesn't work. What's the correct way to do this?

    Read the article

< Previous Page | 71 72 73 74 75 76 77 78 79 80 81 82  | Next Page >