Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

mpxj

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mpxj

  • 13.6.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

MPXJ

This gem allows a Ruby developer to work with a read-only view of project plans saved by a number of popular project planning applications. The work required to read data from these files is actually carried out by a Java library, hence you will need Java installed and available on your path in order to work with this gem. Once the project data has been read from a file, a set of Ruby objects provides access to the structure of the project plan and its attributes.

This gem only came about through the interest and support of Procore, who would love to hear from you if you're excited about working with Ruby and Rails.

Installation

Add this line to your application's Gemfile:

gem 'mpxj'

And then execute:

$ bundle

Or install it yourself as:

$ gem install mpxj

Changelog

You'll find details of what has changed in this version here.

Supported File Types

Full details of the supported file formats can be found here.

Example Code

The following is a trivial example showing some basic task and resource details being queried from a project:

project = MPXJ::Reader.read("project1.mpp")

puts "There are #{project.all_tasks.size} tasks in this project"
puts "There are #{project.all_resources.size} resources in this project"

puts "The resources are:"
project.all_resources.each do |resource|
  puts resource.name
end

puts "The tasks are:"
project.all_tasks.each do |task|
  puts "#{task.name}: starts on #{task.start}, finishes on #{task.finish}, it's duration is #{task.duration}"
end

Entities

The gem represents the project plan using the following classes, all of which reside in the MPXJ module.

  • Project
  • Resource
  • Task
  • Assignment
  • Relation

A Project contains Resources and Tasks. Each Resource can be Assigned to one or more Tasks. Tasks can have dependencies between them which are represented as Relations.

Acknowledgements

Acknowledgements for this library can be found here.

FAQs

Package last updated on 06 Nov 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc