ruby string interpolation and dynamic programming

user3437721

So I'm trying to be smart and make a generic method which can create the variable names and use them correctly. I am passing into 2 symbols into this method, and creating the correct variables and trying to use them.

 def are_numeric_fields_valid (column_name)
    single_name = column_name[0].to_s
    aggregate_name = column_name[1].to_s
    short_column_attribute = single_name.sub("_single", "")

    effective_on_attribute = :"#{short_column_attribute}_effective_on"
    expire_on_attribute = :"#{short_column_attribute}_expire_on"

      if ("loa_item.#{effective_on_attribute}".present? && "loa_item.#{expire_on_attribute}".present?) && (no_values_present?(single_name, aggregate_name))
            loa_item.errors.add(:base, "You must provide single and aggregate values when providing dates at the #{short_column_attribute} role level")
          end

end

But this always is true, even when the actual values are blank:

if ("loa_item.#{effective_on_attribute}".present? && "loa_item.#{expire_on_attribute}".present?)

Do I need something else so this will evaluate correctly? Like a send?

Dave Newton

Yes, it'll need to be different–you're calling present? on a string that has a value: "loa_item.interpolated_value" where interpolated_value is the string representation of effective_on_attribute's evaluation.

It can't not be present? because there's an immediate, non-interpolated value.

You'd want something closer to:

loa_item.send(effective_on_attribute.to_sym) etc.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

dynamic string interpolation

Dynamic string interpolation

Ruby interpolation outside of a string

String interpolation with hash in ruby

Ruby String Interpolation Operator

ruby expression for string interpolation

*ngFor dynamic string interpolation with array

c# - dynamic string interpolation

ruby: workarounds for nested string interpolation

Javascript string interpolation like in ruby

Ruby String interpolation in a shell execution

Ruby add string to the object with interpolation

Backslash breaks string interpolation in ruby

Is there a way to use a dynamic function name in Elixir from string interpolation like in Ruby?

Ruby: Convert String to Symbol during String Interpolation

String manipulation with dynamic programming

Ruby-style string interpolation in AppleScript

Ruby string interpolation equivalent to python's .format()

Is there a Python equivalent to Ruby's string interpolation?

Ruby break line in multiple string interpolation

using ruby string interpolation while mutating object

Ruby Interpolation

How to embed or nest ruby expression inside string interpolation

What happens when you use string interpolation in ruby?

Ruby string interpolation not working when called from an included file

Ruby: String interpolation prints the function first when called second

Ruby String interpolation throws syntax error in 1.9.3 but not 2.3.1

Can anyone offer guidance on monkeypatching/hooking Ruby's string #{} for interpolation?

Why does single quote not work with string interpolation in ruby

TOP Ranking

  1. 1

    Failed to listen on localhost:8000 (reason: Cannot assign requested address)

  2. 2

    Loopback Error: connect ECONNREFUSED 127.0.0.1:3306 (MAMP)

  3. 3

    How to import an asset in swift using Bundle.main.path() in a react-native native module

  4. 4

    pump.io port in URL

  5. 5

    Compiler error CS0246 (type or namespace not found) on using Ninject in ASP.NET vNext

  6. 6

    BigQuery - concatenate ignoring NULL

  7. 7

    ngClass error (Can't bind ngClass since it isn't a known property of div) in Angular 11.0.3

  8. 8

    ggplotly no applicable method for 'plotly_build' applied to an object of class "NULL" if statements

  9. 9

    Spring Boot JPA PostgreSQL Web App - Internal Authentication Error

  10. 10

    How to remove the extra space from right in a webview?

  11. 11

    java.lang.NullPointerException: Cannot read the array length because "<local3>" is null

  12. 12

    Jquery different data trapped from direct mousedown event and simulation via $(this).trigger('mousedown');

  13. 13

    flutter: dropdown item programmatically unselect problem

  14. 14

    How to use merge windows unallocated space into Ubuntu using GParted?

  15. 15

    Change dd-mm-yyyy date format of dataframe date column to yyyy-mm-dd

  16. 16

    Nuget add packages gives access denied errors

  17. 17

    Svchost high CPU from Microsoft.BingWeather app errors

  18. 18

    Can't pre-populate phone number and message body in SMS link on iPhones when SMS app is not running in the background

  19. 19

    12.04.3--- Dconf Editor won't show com>canonical>unity option

  20. 20

    Any way to remove trailing whitespace *FOR EDITED* lines in Eclipse [for Java]?

  21. 21

    maven-jaxb2-plugin cannot generate classes due to two declarations cause a collision in ObjectFactory class

HotTag

Archive