help@rskworld.in +91 93305 39277
RSK World
  • Home
  • Development
    • Web Development
    • Mobile Apps
    • Software
    • Games
    • Project
  • Technologies
    • Data Science
    • AI Development
    • Cloud Development
    • Blockchain
    • Cyber Security
    • Dev Tools
    • Testing Tools
  • About
  • Contact

Theme Settings

Color Scheme
Display Options
Font Size
100%
Back to Project
RSK World
ruby-calculator
/
app
/
models
RSK World
ruby-calculator
Ruby Calculator Pro - Interactive Calculator with 8 Types + Mathematical Functions + Rails MVC + Modern Web Interface + API Integration + Educational Design
models
  • calculation_history.rb743 B
  • converter.rb5.2 KB
  • equation_solver.rb7.1 KB
  • favorite_calculation.rb1.5 KB
  • financial_calculator.rb7.7 KB
  • graph_calculator.rb4 KB
  • health_calculator.rb7.4 KB
  • programming_calculator.rb5.6 KB
  • theme.rb4.8 KB
converter_controller.rb
app/controllers/converter_controller.rb
Raw Download
Find: Go to:
# Ruby Calculator - Interactive calculator built with Ruby on Rails
# Author: RSK World (Molla Samser, Founder | Rima Khatun, Designer & Tester)
# Contact: help@rskworld.in | +91 93305 39277
# Website: https://rskworld.in
# Year: 2026
# Description: Build a fully functional calculator using Ruby on Rails with modern UI

class ConverterController < ApplicationController
  def index
    @categories = Converter.get_available_categories
    @currencies = Converter.get_available_currencies
    @current_theme = session[:theme] || 'default'
  end
  
  def convert_currency
    amount = params[:amount].to_f
    from_currency = params[:from_currency]
    to_currency = params[:to_currency]
    
    if amount > 0 && from_currency && to_currency
      @result = Converter.convert_currency(amount, from_currency, to_currency)
      
      if @result
        # Save to calculation history
        CalculationHistory.create!(
          expression: "#{amount} #{from_currency} to #{to_currency}",
          result: @result,
          operation: 'currency_conversion'
        )
        
        respond_to do |format|
          format.html { redirect_to converter_path, notice: "Conversion successful!" }
          format.json { render json: { result: @result, from: from_currency, to: to_currency } }
        end
      else
        respond_to do |format|
          format.html { redirect_to converter_path, alert: "Invalid currency conversion" }
          format.json { render json: { error: "Invalid currency conversion" }, status: :unprocessable_entity }
        end
      end
    else
      respond_to do |format|
        format.html { redirect_to converter_path, alert: "Please enter valid amount and select currencies" }
        format.json { render json: { error: "Invalid parameters" }, status: :unprocessable_entity }
      end
    end
  end
  
  def convert_unit
    amount = params[:amount].to_f
    from_unit = params[:from_unit]
    to_unit = params[:to_unit]
    category = params[:category]
    
    if amount > 0 && from_unit && to_unit && category
      @result = Converter.convert_unit(amount, from_unit, to_unit, category)
      
      if @result
        # Save to calculation history
        CalculationHistory.create!(
          expression: "#{amount} #{from_unit} to #{to_unit} (#{category})",
          result: @result,
          operation: 'unit_conversion'
        )
        
        respond_to do |format|
          format.html { redirect_to converter_path, notice: "Conversion successful!" }
          format.json { render json: { result: @result, from: from_unit, to: to_unit, category: category } }
        end
      else
        respond_to do |format|
          format.html { redirect_to converter_path, alert: "Invalid unit conversion" }
          format.json { render json: { error: "Invalid unit conversion" }, status: :unprocessable_entity }
        end
      end
    else
      respond_to do |format|
        format.html { redirect_to converter_path, alert: "Please enter valid amount and select units" }
        format.json { render json: { error: "Invalid parameters" }, status: :unprocessable_entity }
      end
    end
  end
  
  def get_units
    category = params[:category]
    @units = Converter.get_available_units(category)
    
    respond_to do |format|
      format.json { render json: { units: @units } }
    end
  end
end
93 lines•3.4 KB
ruby

About RSK World

Founded by Molla Samser, with Designer & Tester Rima Khatun, RSK World is your one-stop destination for free programming resources, source code, and development tools.

Founder: Molla Samser
Designer & Tester: Rima Khatun

Development

  • Game Development
  • Web Development
  • Mobile Development
  • AI Development
  • Development Tools

Legal

  • Terms & Conditions
  • Privacy Policy
  • Disclaimer

Contact Info

Nutanhat, Mongolkote
Purba Burdwan, West Bengal
India, 713147

+91 93305 39277

hello@rskworld.in
support@rskworld.in

© 2026 RSK World. All rights reserved.

Content used for educational purposes only. View Disclaimer